Harden degenerate gradient context handling

Certain inputs produce degenerate values at context creation time only.

Detect such cases after context creation, and abort drawing by returning
a null shader context instead.

BUG=skia:5821
R=reed@google.com,brianosman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2397473003

Review-Url: https://codereview.chromium.org/2397473003
diff --git a/src/effects/gradients/Sk4fGradientBase.h b/src/effects/gradients/Sk4fGradientBase.h
index 17f9563..fd6d656 100644
--- a/src/effects/gradients/Sk4fGradientBase.h
+++ b/src/effects/gradients/Sk4fGradientBase.h
@@ -28,6 +28,8 @@
     void shadeSpan(int x, int y, SkPMColor dst[], int count) override;
     void shadeSpan4f(int x, int y, SkPM4f dst[], int count) override;
 
+    bool isValid() const;
+
 protected:
     struct Interval {
         Interval(const Sk4f& c0, SkScalar p0,