Introduce GrBatch subclasses GrDrawBatch and GrVertexBatch to prepare for non-drawing batches

Review URL: https://codereview.chromium.org/1293583002
diff --git a/gm/convexpolyeffect.cpp b/gm/convexpolyeffect.cpp
index ba5cc5b..1c4a0b1 100644
--- a/gm/convexpolyeffect.cpp
+++ b/gm/convexpolyeffect.cpp
@@ -36,7 +36,7 @@
 
     const char* name() const override { return "ConvexPolyTestBatch"; }
 
-    static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo) {
+    static GrDrawBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo) {
         return SkNEW_ARGS(ConvexPolyTestBatch, (gp, geo));
     }
 
@@ -197,7 +197,7 @@
                 geometry.fColor = color.fColor;
                 geometry.fBounds = p.getBounds();
 
-                SkAutoTUnref<GrBatch> batch(ConvexPolyTestBatch::Create(gp, geometry));
+                SkAutoTUnref<GrDrawBatch> batch(ConvexPolyTestBatch::Create(gp, geometry));
 
                 tt.target()->drawBatch(pipelineBuilder, batch);
 
@@ -246,7 +246,7 @@
                 geometry.fColor = color.fColor;
                 geometry.fBounds = rect;
 
-                SkAutoTUnref<GrBatch> batch(ConvexPolyTestBatch::Create(gp, geometry));
+                SkAutoTUnref<GrDrawBatch> batch(ConvexPolyTestBatch::Create(gp, geometry));
 
                 tt.target()->drawBatch(pipelineBuilder, batch);