layers: Migrated DrawState layer to cpp

Move almost all linked-lists to unordered_maps and vectors.
Clean up malloc/free with new/delete.
Skip write-strings compile warnings for graphviz_helper.

Still need to migrate the DS update tree to c++.
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index ef048e5..520b6a3 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1603,7 +1603,6 @@
     track_pipeline(pCreateInfo, pPipeline);
 
     loader_platform_thread_unlock_mutex(&globalLock);
-    return result;
 }
 
 XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglCreateSampler(XGL_DEVICE device, const XGL_SAMPLER_CREATE_INFO* pCreateInfo, XGL_SAMPLER* pSampler)
@@ -2755,6 +2754,8 @@
         return (void*) xglCreateImageView;
     if (!strcmp(funcName, "xglCreateGraphicsPipeline"))
         return (void*) xglCreateGraphicsPipeline;
+    if (!strcmp(funcName, "xglCreateGraphicsPipelineDerivative"))
+        return (void*) xglCreateGraphicsPipelineDerivative;
     if (!strcmp(funcName, "xglCreateSampler"))
         return (void*) xglCreateSampler;
     if (!strcmp(funcName, "xglCreateDescriptorSetLayout"))