Make XPFragmentBuilder only Builder with access to DstCopy.
Plus a bunch of renaming.

BUG=skia:

Review URL: https://codereview.chromium.org/1110033004
diff --git a/src/gpu/gl/GrGLPathProcessor.cpp b/src/gpu/gl/GrGLPathProcessor.cpp
index 9617591..9ce6682 100644
--- a/src/gpu/gl/GrGLPathProcessor.cpp
+++ b/src/gpu/gl/GrGLPathProcessor.cpp
@@ -16,7 +16,7 @@
 
 void GrGLPathProcessor::emitCode(EmitArgs& args) {
     GrGLGPBuilder* pb = args.fPB;
-    GrGLGPFragmentBuilder* fs = args.fPB->getFragmentShaderBuilder();
+    GrGLFragmentBuilder* fs = args.fPB->getFragmentShaderBuilder();
     const PathBatchTracker& local = args.fBT.cast<PathBatchTracker>();
 
     // emit transforms
diff --git a/src/gpu/gl/GrGLPrimitiveProcessor.cpp b/src/gpu/gl/GrGLPrimitiveProcessor.cpp
index 2bb595a..3213ffa 100644
--- a/src/gpu/gl/GrGLPrimitiveProcessor.cpp
+++ b/src/gpu/gl/GrGLPrimitiveProcessor.cpp
@@ -37,7 +37,7 @@
                                               const char* outputName,
                                               const GrGeometryProcessor::Attribute* colorAttr,
                                               UniformHandle* colorUniform) {
-    GrGLGPFragmentBuilder* fs = pb->getFragmentShaderBuilder();
+    GrGLFragmentBuilder* fs = pb->getFragmentShaderBuilder();
     if (kUniform_GrGPInput == inputType) {
         SkASSERT(colorUniform);
         const char* stagedLocalVarName;
diff --git a/src/gpu/gl/GrGLXferProcessor.cpp b/src/gpu/gl/GrGLXferProcessor.cpp
index b7bf301..c517381 100644
--- a/src/gpu/gl/GrGLXferProcessor.cpp
+++ b/src/gpu/gl/GrGLXferProcessor.cpp
@@ -15,7 +15,7 @@
     if (args.fXP.getDstCopyTexture()) {
         bool topDown = kTopLeft_GrSurfaceOrigin == args.fXP.getDstCopyTexture()->origin();
 
-        GrGLFPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
+        GrGLXPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
 
         // We don't think any shaders actually output negative coverage, but just as a safety check
         // for floating point precision errors we compare with <= here
diff --git a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h
index 3d99abc..7afc76c 100644
--- a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h
+++ b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h
@@ -15,10 +15,10 @@
 /*
  * This base class encapsulates the functionality which the GP uses to build fragment shaders
  */
-class GrGLGPFragmentBuilder : public GrGLShaderBuilder {
+class GrGLFragmentBuilder : public GrGLShaderBuilder {
 public:
-    GrGLGPFragmentBuilder(GrGLProgramBuilder* program) : INHERITED(program) {}
-    virtual ~GrGLGPFragmentBuilder() {}
+    GrGLFragmentBuilder(GrGLProgramBuilder* program) : INHERITED(program) {}
+    virtual ~GrGLFragmentBuilder() {}
     /**
      * Use of these features may require a GLSL extension to be enabled. Shaders may not compile
      * if code is added that uses one of these features without calling enableFeature()
@@ -58,20 +58,20 @@
  * this builder to create their shader.  Because this is the only shader builder the FP sees, we
  * just call it FPShaderBuilder
  */
-class GrGLFPFragmentBuilder : public GrGLGPFragmentBuilder {
+class GrGLXPFragmentBuilder : public GrGLFragmentBuilder {
 public:
-    GrGLFPFragmentBuilder(GrGLProgramBuilder* program) : INHERITED(program) {}
+    GrGLXPFragmentBuilder(GrGLProgramBuilder* program) : INHERITED(program) {}
 
     /** Returns the variable name that holds the color of the destination pixel. This may be NULL if
         no effect advertised that it will read the destination. */
     virtual const char* dstColor() = 0;
 
 private:
-    typedef GrGLGPFragmentBuilder INHERITED;
+    typedef GrGLFragmentBuilder INHERITED;
 };
 
 // TODO rename to Fragment Builder
-class GrGLFragmentShaderBuilder : public GrGLFPFragmentBuilder {
+class GrGLFragmentShaderBuilder : public GrGLXPFragmentBuilder {
 public:
     typedef uint8_t DstReadKey;
     typedef uint8_t FragPosKey;
@@ -156,7 +156,7 @@
 
     friend class GrGLProgramBuilder;
 
-    typedef GrGLFPFragmentBuilder INHERITED;
+    typedef GrGLXPFragmentBuilder INHERITED;
 };
 
 #endif
diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.h b/src/gpu/gl/builders/GrGLProgramBuilder.h
index 2e9ab86..e7520ee 100644
--- a/src/gpu/gl/builders/GrGLProgramBuilder.h
+++ b/src/gpu/gl/builders/GrGLProgramBuilder.h
@@ -155,7 +155,7 @@
                                          const char* output) = 0;
 
     // TODO rename getFragmentBuilder
-    virtual GrGLGPFragmentBuilder* getFragmentShaderBuilder() = 0;
+    virtual GrGLFragmentBuilder* getFragmentShaderBuilder() = 0;
     virtual GrGLVertexBuilder* getVertexShaderBuilder() = 0;
 
     /*
@@ -166,7 +166,7 @@
 /* a specializations for FPs. Lets the user add uniforms and FS code */
 class GrGLFPBuilder : public virtual GrGLUniformBuilder {
 public:
-    virtual GrGLFPFragmentBuilder* getFragmentShaderBuilder() = 0;
+    virtual GrGLFragmentBuilder* getFragmentShaderBuilder() = 0;
 
     /*
      * *NOTE* NO MEMBERS ALLOWED, MULTIPLE INHERITANCE
@@ -176,7 +176,7 @@
 /* a specializations for XPs. Lets the user add uniforms and FS code */
 class GrGLXPBuilder : public virtual GrGLUniformBuilder {
 public:
-    virtual GrGLFPFragmentBuilder* getFragmentShaderBuilder() = 0;
+    virtual GrGLXPFragmentBuilder* getFragmentShaderBuilder() = 0;
 
     /*
      * *NOTE* NO MEMBERS ALLOWED, MULTIPLE INHERITANCE
@@ -248,7 +248,7 @@
 
     GrGLGpu* gpu() const override { return fGpu; }
 
-    GrGLFPFragmentBuilder* getFragmentShaderBuilder() override { return &fFS; }
+    GrGLXPFragmentBuilder* getFragmentShaderBuilder() override { return &fFS; }
     GrGLVertexBuilder* getVertexShaderBuilder() override { return &fVS; }
 
     void addVarying(