test/binding: inherit Sampler from NonDispHandle

This also assumes VkSampler does not require any VkDeviceMemory.
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 8f3eeeb..e66384b 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -466,7 +466,7 @@
     m_type_counts.push_back(tc);
 
     VkDescriptorInfo tmp = texture->m_descriptorInfo;
-    tmp.sampler = sampler->obj();
+    tmp.sampler = sampler->handle();
     m_imageSamplerDescriptors.push_back(tmp);
 
     m_writes.push_back(vk_testing::Device::write_descriptor_set(vk_testing::DescriptorSet(),
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 4028578..a72a628 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -860,10 +860,11 @@
     NON_DISPATCHABLE_HANDLE_INIT(vkCreatePipelineLayout, dev, &info);
 }
 
+NON_DISPATCHABLE_HANDLE_DTOR(Sampler, vkDestroyObject, VK_OBJECT_TYPE_SAMPLER)
+
 void Sampler::init(const Device &dev, const VkSamplerCreateInfo &info)
 {
-    DERIVED_OBJECT_TYPE_INIT(vkCreateSampler, dev, VK_OBJECT_TYPE_SAMPLER, &info);
-    alloc_memory();
+    NON_DISPATCHABLE_HANDLE_INIT(vkCreateSampler, dev, &info);
 }
 
 void DescriptorSetLayout::init(const Device &dev, const VkDescriptorSetLayoutCreateInfo &info)
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index 412525d..fd3ecd1 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -588,8 +588,10 @@
     void init(const Device &dev, VkPipelineLayoutCreateInfo &info, const std::vector<const DescriptorSetLayout *> &layouts);
 };
 
-class Sampler : public DerivedObject<VkSampler, Object, VK_OBJECT_TYPE_SAMPLER> {
+class Sampler : public internal::NonDispHandle<VkSampler> {
 public:
+    ~Sampler();
+
     // vkCreateSampler()
     void init(const Device &dev, const VkSamplerCreateInfo &info);
 };