Move some work from backend onClear to base class clear

BUG=skia:

Review URL: https://codereview.chromium.org/1275543005
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h
index 5452eb3..c9530d3 100644
--- a/include/gpu/GrCaps.h
+++ b/include/gpu/GrCaps.h
@@ -216,6 +216,8 @@
         return fSupportsInstancedDraws;
     }
 
+    bool fullClearIsFree() const { return fFullClearIsFree; }
+
 protected:
     /** Subclasses must call this at the end of their constructors in order to apply caps
         overrides requested by the client. Note that overrides will only reduce the caps never
@@ -236,6 +238,7 @@
     bool fOversizedStencilSupport                    : 1;
     bool fTextureBarrierSupport                      : 1;
     bool fSupportsInstancedDraws                     : 1;
+    bool fFullClearIsFree                            : 1;
 
     // Driver workaround
     bool fUseDrawInsteadOfClear                      : 1;