default impl of appendStages now calls shaderContext

this is approximately a revert of https://skia-review.googlesource.com/c/17768/

I propose if/when we want to experiment with a fast-path for coherent shaders
(e.g. 2-color linear gradients, up-scaling images) that we just create a new
mechanism for shaders to opt into that, knowing that it will be driven by
the rasterpipeline (and never by the old context convention).

This CL now makes it legal/clear that a new shader subclass can *just* implement
stages for raster, and never needs to make a context.

Bug: skia:
Change-Id: I525a8b1cece100f0993f75e28128e0927a4ea35c
Reviewed-on: https://skia-review.googlesource.com/18481
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp
index d98c8c6..a34a35a 100644
--- a/src/shaders/gradients/SkGradientShader.cpp
+++ b/src/shaders/gradients/SkGradientShader.cpp
@@ -419,7 +419,7 @@
 
     SkRasterPipeline_<256> subclass;
     if (!this->adjustMatrixAndAppendStages(alloc, &matrix, &subclass)) {
-        return false;
+        return this->INHERITED::onAppendStages(p, dstCS, alloc, ctm, paint, localM);
     }
 
     p->append(SkRasterPipeline::seed_shader);