layers: Bug #14850, enforce validation for semaphore states

Added creation of driver-side semaphore objects.
diff --git a/layers/mem_tracker.h b/layers/mem_tracker.h
index 5ad0059..4e23b82 100644
--- a/layers/mem_tracker.h
+++ b/layers/mem_tracker.h
@@ -50,6 +50,14 @@
     MEMTRACK_INVALID_USAGE_FLAG,            // Usage flags specified at image/buffer create conflict w/ use of object
 } MEM_TRACK_ERROR;
 
+// MemTracker Semaphore states
+typedef enum _MtSemaphoreState
+{
+    MEMTRACK_SEMAPHORE_STATE_UNSET,         // Semaphore is in an undefined state
+    MEMTRACK_SEMAPHORE_STATE_SIGNALLED,     // Semaphore has is in signalled state
+    MEMTRACK_SEMAPHORE_STATE_WAIT,          // Semaphore is in wait state
+} MtSemaphoreState;
+
 /*
  * Data Structure overview
  *  There are 4 global STL(' maps
@@ -133,9 +141,10 @@
     list<VkDeviceMemory>        pMemRefList;
 };
 
+// Track Swapchain Information
 struct MT_SWAP_CHAIN_INFO {
-    VkSwapchainCreateInfoKHR             createInfo;
-    std::vector<VkImage> images;
+    VkSwapchainCreateInfoKHR    createInfo;
+    std::vector<VkImage>        images;
 };
 
 #ifdef __cplusplus