Cleanup of shader building system

this is a huge refactor and cleanup of the gl shader building system in
Skia.  The entire shader building pipeline is now part of
GrGLProgramCreator, which takes a gp, and some fps, and creates a
program.  I added some subclasses of GrGLProgram to handle the
eccentricities of Nvpr/Nvpres.  Outside of the builders folder
and GrGLPrograms, this change is basically just a rename

solo gp

BUG=skia:

Review URL: https://codereview.chromium.org/611653002
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
index d8ce3fd..c31aa1e 100644
--- a/tests/GLProgramsTest.cpp
+++ b/tests/GLProgramsTest.cpp
@@ -16,6 +16,7 @@
 #include "GrContextFactory.h"
 #include "GrOptDrawState.h"
 #include "effects/GrConfigConversionEffect.h"
+#include "gl/builders/GrGLProgramBuilder.h"
 #include "gl/GrGLPathRendering.h"
 #include "gl/GrGpuGL.h"
 #include "SkChecksum.h"
@@ -24,7 +25,7 @@
 
 static void get_stage_stats(const GrFragmentStage stage, bool* readsDst,
                             bool* readsFragPosition, bool* requiresVertexShader) {
-    if (stage.getFragmentProcessor()->willReadDstColor()) {
+    if (stage.getProcessor()->willReadDstColor()) {
         *readsDst = true;
     }
     if (stage.getProcessor()->willReadFragmentPosition()) {
@@ -335,12 +336,14 @@
         SkAutoTUnref<GrOptDrawState> optState(GrOptDrawState::Create(this->getDrawState(),
                                                                      *this->caps(),
                                                                      drawType));
-        SkAutoTUnref<GrGLProgram> program(GrGLProgram::Create(this,
-                                                              *optState.get(),
-                                                              pdesc,
-                                                              geometryProcessor.get(),
-                                                              stages,
-                                                              stages + numColorStages));
+        SkAutoTUnref<GrGLProgram> program(
+                        GrGLProgramBuilder::CreateProgram(*optState,
+                                                          pdesc,
+                                                          drawType,
+                                                          geometryProcessor,
+                                                          stages,
+                                                          stages + numColorStages,
+                                                          this));
         for (int s = 0; s < numStages; ++s) {
             SkDELETE(stages[s]);
         }