layers: Migrate DrawState global data structs to layer_data struct

DrawState maps are all now stored per-device and per-instance.
Also fixed a bug where renderPassMap ptrs were not being cleaned up.
diff --git a/layers/draw_state.h b/layers/draw_state.h
index e42c5e4..756c042 100644
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -23,6 +23,7 @@
  */
 #include "vk_layer.h"
 #include <vector>
+#include <memory>
 #include "vk_debug_report_lunarg.h"
 
 using namespace std;
@@ -125,12 +126,15 @@
 typedef struct _SAMPLER_NODE {
     VkSampler           sampler;
     VkSamplerCreateInfo createInfo;
+
+    _SAMPLER_NODE(const VkSampler* ps, const VkSamplerCreateInfo* pci) : sampler(*ps), createInfo(*pci) {};
 } SAMPLER_NODE;
 
 typedef struct _BUFFER_NODE {
     VkBufferView           buffer;
     VkBufferViewCreateInfo createInfo;
-    VkDescriptorInfo       descriptorInfo;
+
+    _BUFFER_NODE(const VkBufferView* pbv, const VkBufferViewCreateInfo* pci) : buffer(*pbv), createInfo(*pci) {};
 } BUFFER_NODE;
 
 // Descriptor Data structures