Make GrGLSLProgramBuilder base class for GrGLProgramBuilder.

This CL still keeps the weird diamond shape we have for all our ProgramBuilders.
However, the GrGLSL base class will allow us to pull multiple other parts
of our program setup away from GL which will eventually allow us to break up
the diamond.

As part of this all ShaderBuilder subclass have been made gl independent,
however I will move them to GLSL files/class names in a follow on CL.

BUG=skia:

Review URL: https://codereview.chromium.org/1416423003
diff --git a/src/gpu/gl/builders/GrGLShaderBuilder.cpp b/src/gpu/gl/builders/GrGLShaderBuilder.cpp
index 2c00baf..ed5c3d4 100644
--- a/src/gpu/gl/builders/GrGLShaderBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLShaderBuilder.cpp
@@ -6,10 +6,10 @@
  */
 
 #include "GrGLShaderBuilder.h"
-#include "gl/builders/GrGLProgramBuilder.h"
 #include "glsl/GrGLSLCaps.h"
 #include "glsl/GrGLSLShaderVar.h"
 #include "glsl/GrGLSLTextureSampler.h"
+#include "glsl/GrGLSLProgramBuilder.h"
 
 static void map_swizzle(const char* swizzleMap, const char* swizzle, char* mangledSwizzle) {
     int i;
@@ -69,10 +69,10 @@
     }
 }
 
-GrGLShaderBuilder::GrGLShaderBuilder(GrGLProgramBuilder* program)
+GrGLShaderBuilder::GrGLShaderBuilder(GrGLSLProgramBuilder* program)
     : fProgramBuilder(program)
-    , fInputs(GrGLProgramBuilder::kVarsPerBlock)
-    , fOutputs(GrGLProgramBuilder::kVarsPerBlock)
+    , fInputs(GrGLSLProgramBuilder::kVarsPerBlock)
+    , fOutputs(GrGLSLProgramBuilder::kVarsPerBlock)
     , fFeaturesAddedMask(0)
     , fCodeIndex(kCode)
     , fFinalized(false) {
@@ -187,11 +187,11 @@
     this->versionDecl() = fProgramBuilder->glslCaps()->versionDeclString();
     this->compileAndAppendLayoutQualifiers();
     SkASSERT(visibility);
-    fProgramBuilder->appendUniformDecls((GrGLProgramBuilder::ShaderVisibility) visibility,
+    fProgramBuilder->appendUniformDecls((GrGLSLProgramBuilder::ShaderVisibility) visibility,
                                         &this->uniforms());
     this->appendDecls(fInputs, &this->inputs());
     // We should not have any outputs in the fragment shader when using version 1.10
-    SkASSERT(GrGLProgramBuilder::kFragment_Visibility != visibility ||
+    SkASSERT(GrGLSLProgramBuilder::kFragment_Visibility != visibility ||
              k110_GrGLSLGeneration != fProgramBuilder->glslCaps()->generation() ||
              fOutputs.empty());
     this->appendDecls(fOutputs, &this->outputs());