Layers initial prototype.

Includes  an auto generated layer (GenericLayer) that wraps  all api calls.
Includes a basic handwritten layer (basicLayer)  that wraps a few apis.
Adds xglGetProcAddr as a new api, which is used to chain layers together.
All layers and loader implement  a dispatch table.
diff --git a/icd/intel/intel.c b/icd/intel/intel.c
index a78779d..30ea9a1 100644
--- a/icd/intel/intel.c
+++ b/icd/intel/intel.c
@@ -29,6 +29,7 @@
 #include "icd-enumerate-drm.h"
 #include "gpu.h"
 #include "intel.h"
+#include "dispatch.h"
 
 static int intel_devid_override;
 int intel_debug = -1;
@@ -72,6 +73,10 @@
         env = p + 1;
     }
 }
+ICD_EXPORT void * xglGetProcAddr(XGL_PHYSICAL_GPU gpu, const XGL_CHAR * pName)
+{
+    return intelGetProcAddr(gpu, pName);
+}
 
 ICD_EXPORT XGL_RESULT XGLAPI xglInitAndEnumerateGpus(
     const XGL_APPLICATION_INFO*                 pAppInfo,