layers: MR130, Handle VK_WHOLE_SIZE properly in mem_tracker:initializeAndTrackMemory

VK_WHOLE_SIZE is ~0ull. If this were passed as `size`, we'd try to allocate ~1ull
bytes, and then memset them all to 0xb. This tends to explode.
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index 321cf1e..2f7620b 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -1513,6 +1513,9 @@
         if (memProps.memoryTypes[index].propertyFlags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) {
             mem_element->second.pData = 0;
         } else {
+            if (size == VK_WHOLE_SIZE) {
+                size = mem_element->second.allocInfo.allocationSize;
+            }
             mem_element->second.pData = malloc(2 * size);
             memset(mem_element->second.pData, NoncoherentMemoryFillValue, 2 * size);
             *ppData = static_cast<char*>(mem_element->second.pData) + (size / 2);