[Bugfix][Vulkan] Call VulkanDeviceAPI destructor on program exit (#7997)
[Bugfix][Vulkan] Call VulkanDeviceAPI destructor on program exit (#7997)

Most of the TVM Global() functions allocate with "new" and do
not deallocate, as the OS can clean up any leftover buffers at
the end.  In this case, we need the VulkanDeviceAPI destructor
to call vkDestroyInstance, to prevent a segfault on exit when
using some nvidia drivers.

Co-authored-by: Eric Lunderberg <f3d71fec639e50d1d43168c8b64cde4ef65ad572@octoml.ai>
Laurawly/tvm-1,Laurawly/tvm-1,Laurawly/tvm-1,dmlc/tvm,Laurawly/tvm-1,dmlc/tvm,dmlc/tvm,dmlc/tvm,dmlc/tvm,dmlc/tvm,dmlc/tvm,Laurawly/tvm-1,Laurawly/tvm-1,dmlc/tvm,Laurawly/tvm-1,Laurawly/tvm-1,Laurawly/tvm-1,Laurawly/tvm-1,dmlc/tvm