Import functionality for new GL backend

Brings in the following functionality:

  ARB_draw_instanced
  ARB_instanced_arrays
  NV_bindless_texture
  EXT_direct_state_access
  KHR_debug

Also cleans up some of the NVPR extension loading.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643

Review URL: https://codereview.chromium.org/1185573003
diff --git a/src/gpu/gl/GrGLCaps.h b/src/gpu/gl/GrGLCaps.h
index ac89115..1f5d6c2 100644
--- a/src/gpu/gl/GrGLCaps.h
+++ b/src/gpu/gl/GrGLCaps.h
@@ -224,6 +224,15 @@
     /// Is there support for Vertex Array Objects?
     bool vertexArrayObjectSupport() const { return fVertexArrayObjectSupport; }
 
+    /// Is there support for glDraw*Instanced and glVertexAttribDivisor?
+    bool instancedDrawingSupport() const { return fInstancedDrawingSupport; }
+
+    /// Is there support for GL_EXT_direct_state_access?
+    bool directStateAccessSupport() const { return fDirectStateAccessSupport; }
+
+    /// Is there support for GL_KHR_debug?
+    bool debugSupport() const { return fDebugSupport; }
+
     /// Is there support for ES2 compatability?
     bool ES2CompatibilitySupport() const { return fES2CompatibilitySupport; }
 
@@ -350,6 +359,9 @@
     bool fTwoFormatLimit : 1;
     bool fFragCoordsConventionSupport : 1;
     bool fVertexArrayObjectSupport : 1;
+    bool fInstancedDrawingSupport : 1;
+    bool fDirectStateAccessSupport : 1;
+    bool fDebugSupport : 1;
     bool fES2CompatibilitySupport : 1;
     bool fMultisampleDisableSupport : 1;
     bool fUseNonVBOVertexAndIndexDynamicData : 1;
@@ -405,6 +417,8 @@
 
     bool fbFetchNeedsCustomOutput() const { return fFBFetchNeedsCustomOutput; }
 
+    bool bindlessTextureSupport() const { return fBindlessTextureSupport; }
+
     const char* fbFetchColorName() const { return fFBFetchColorName; }
 
     const char* fbFetchExtensionString() const { return fFBFetchExtensionString; }
@@ -441,6 +455,7 @@
     bool fDropsTileOnZeroDivide : 1;
     bool fFBFetchSupport : 1;
     bool fFBFetchNeedsCustomOutput : 1;
+    bool fBindlessTextureSupport : 1;
 
     const char* fFBFetchColorName;
     const char* fFBFetchExtensionString;