Create GrGLSLVaryingHandler class for program building

BUG=skia:

Review URL: https://codereview.chromium.org/1462123003
diff --git a/src/gpu/glsl/GrGLSLGeometryProcessor.cpp b/src/gpu/glsl/GrGLSLGeometryProcessor.cpp
index 706a8a8..8a1e81a 100644
--- a/src/gpu/glsl/GrGLSLGeometryProcessor.cpp
+++ b/src/gpu/glsl/GrGLSLGeometryProcessor.cpp
@@ -10,6 +10,7 @@
 #include "glsl/GrGLSLFragmentShaderBuilder.h"
 #include "glsl/GrGLSLProcessorTypes.h"
 #include "glsl/GrGLSLProgramBuilder.h"
+#include "glsl/GrGLSLVarying.h"
 #include "glsl/GrGLSLVertexShaderBuilder.h"
 
 void GrGLSLGeometryProcessor::emitCode(EmitArgs& args) {
@@ -21,6 +22,7 @@
 
 void GrGLSLGeometryProcessor::emitTransforms(GrGLSLGPBuilder* pb,
                                              GrGLSLVertexBuilder* vb,
+                                             GrGLSLVaryingHandler* varyingHandler,
                                              const GrShaderVar& posVar,
                                              const char* localCoords,
                                              const SkMatrix& localMatrix,
@@ -56,7 +58,7 @@
             strVaryingName.appendf("_%i_%i", i, t);
 
             GrGLSLVertToFrag v(varyingType);
-            pb->addVarying(strVaryingName.c_str(), &v, precision);
+            varyingHandler->addVarying(strVaryingName.c_str(), &v, precision);
 
             SkASSERT(kVec2f_GrSLType == varyingType || kVec3f_GrSLType == varyingType);
             SkNEW_APPEND_TO_TARRAY(&(*tout)[i], GrGLSLTransformedCoords,
@@ -94,6 +96,7 @@
 
 void GrGLSLGeometryProcessor::emitTransforms(GrGLSLGPBuilder* pb,
                                              GrGLSLVertexBuilder* vb,
+                                             GrGLSLVaryingHandler* varyingHandler,
                                              const char* localCoords,
                                              const TransformsIn& tin,
                                              TransformsOut* tout) {
@@ -111,7 +114,7 @@
             strVaryingName.appendf("_%i_%i", i, t);
 
             GrGLSLVertToFrag v(varyingType);
-            pb->addVarying(strVaryingName.c_str(), &v, precision);
+            varyingHandler->addVarying(strVaryingName.c_str(), &v, precision);
             vb->codeAppendf("%s = %s;", v.vsOut(), localCoords);
 
             SkNEW_APPEND_TO_TARRAY(&(*tout)[i],