Separate GL path rendering state from GrGpuGL to GrGLPathRendering

Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This
makes GrGpuGL code simpler.

The intention is that while GrGpuGL represents the global environment for GL,
the GrGLPathRendering represents the global environment for path rendering
extension.

Add GrPathRendering, a base class for path rendering, and inherit
GrGLPathRendering from that. Move the path rendering virtual functions from
GrGpu to GrPathRendering.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/452823002
diff --git a/src/gpu/gl/GrGLProgramEffects.cpp b/src/gpu/gl/GrGLProgramEffects.cpp
index 3fa4f15..8ea77d0 100644
--- a/src/gpu/gl/GrGLProgramEffects.cpp
+++ b/src/gpu/gl/GrGLProgramEffects.cpp
@@ -478,16 +478,18 @@
         switch (get_matrix_type(totalKey, t)) {
             case kNoPersp_MatrixType: {
                 const SkMatrix& transform = get_transform_matrix(drawEffect, t);
-                gpu->enablePathTexGen(texCoordIndex++,
-                                      GrGpuGL::kST_PathTexGenComponents,
-                                      transform);
+                gpu->glPathRendering()->enablePathTexGen(
+                        texCoordIndex++,
+                        GrGLPathRendering::kST_PathTexGenComponents,
+                        transform);
                 break;
             }
             case kGeneral_MatrixType: {
                 const SkMatrix& transform = get_transform_matrix(drawEffect, t);
-                gpu->enablePathTexGen(texCoordIndex++,
-                                      GrGpuGL::kSTR_PathTexGenComponents,
-                                      transform);
+                gpu->glPathRendering()->enablePathTexGen(
+                        texCoordIndex++,
+                        GrGLPathRendering::kSTR_PathTexGenComponents,
+                        transform);
                 break;
             }
             default: