This cl moves color and coverage off of drawstate.  In an effort to keep this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated).

In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs.

BUG=skia:

Review URL: https://codereview.chromium.org/783763002
diff --git a/src/gpu/GrOvalRenderer.h b/src/gpu/GrOvalRenderer.h
index abad623..85a9354 100644
--- a/src/gpu/GrOvalRenderer.h
+++ b/src/gpu/GrOvalRenderer.h
@@ -33,18 +33,21 @@
 
     bool drawOval(GrDrawTarget*,
                   GrDrawState*,
+                  GrColor,
                   const GrContext*,
                   bool useAA,
                   const SkRect& oval,
                   const SkStrokeRec& stroke);
     bool drawRRect(GrDrawTarget*,
                    GrDrawState*,
+                   GrColor,
                    GrContext*,
                    bool useAA,
                    const SkRRect& rrect,
                    const SkStrokeRec& stroke);
     bool drawDRRect(GrDrawTarget* target,
                     GrDrawState*,
+                    GrColor,
                     GrContext* context,
                     bool useAA,
                     const SkRRect& outer,
@@ -53,18 +56,21 @@
 private:
     bool drawEllipse(GrDrawTarget* target,
                      GrDrawState*,
+                     GrColor,
                      const GrContext* context,
                      bool useCoverageAA,
                      const SkRect& ellipse,
                      const SkStrokeRec& stroke);
     bool drawDIEllipse(GrDrawTarget* target,
                        GrDrawState*,
+                       GrColor,
                        const GrContext* context,
                        bool useCoverageAA,
                        const SkRect& ellipse,
                        const SkStrokeRec& stroke);
     void drawCircle(GrDrawTarget* target,
                     GrDrawState*,
+                    GrColor,
                     const GrContext* context,
                     bool useCoverageAA,
                     const SkRect& circle,