Restructure path tessellation shaders

Merges the GrStrokePathShader and GrFillPathShader classes together.
Creates a new base class called GrPathTessellationShader. Now they all
have a uniform color and can all be draw to stencil and color both.
This is necessary cleanup in general, but will also allow us to create
a convex tessellation op that bypasses the stencil buffer.

Bug: skia:10419
Change-Id: Ifc492c94d3de044a36bd9ea95b1d5aa22e007905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413696
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/tessellate/GrPathStencilFillOp.h b/src/gpu/tessellate/GrPathStencilFillOp.h
index ee5e0af..f31d416 100644
--- a/src/gpu/tessellate/GrPathStencilFillOp.h
+++ b/src/gpu/tessellate/GrPathStencilFillOp.h
@@ -9,8 +9,8 @@
 #define GrPathStencilFillOp_DEFINED
 
 #include "src/gpu/ops/GrDrawOp.h"
-#include "src/gpu/tessellate/GrPathShader.h"
 #include "src/gpu/tessellate/GrTessellationPathRenderer.h"
+#include "src/gpu/tessellate/GrTessellationShader.h"
 
 class GrPathTessellator;
 
@@ -41,7 +41,7 @@
 
     // Chooses the rendering method we will use and creates the corresponding tessellator and
     // stencil/fill programs.
-    void prePreparePrograms(const GrPathShader::ProgramArgs&, GrAppliedClip&& clip);
+    void prePreparePrograms(const GrTessellationShader::ProgramArgs&, GrAppliedClip&& clip);
 
     void onPrePrepare(GrRecordingContext*, const GrSurfaceProxyView&, GrAppliedClip*,
                       const GrXferProcessor::DstProxyView&, GrXferBarrierFlags,