[sksg] Refactor gradient implementation

Currently, gradients are PaintNode subclasses - which limits their
applicability to leaf DAG nodes.

In order to support generalized gradient/shader effects:

  * introduce a new Shader base class
  * refactor gradients as Shader subclasses
  * introduce ShaderPaint (to support current Gradient-as-paint use)
  * introduce ShaderEffect (to support future Gradient-as-effect use)

Tangentially:

  * rename SkSGPaintNode.h -> SkSGPaint.h
  * consolidate sksg::Color into SkSGPaint.h

Change-Id: I94ba949f4504c09cfde4a4f030d927411fdd66a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205263
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/samplecode/SampleSG.cpp b/samplecode/SampleSG.cpp
index 3aab1d3..dfdde81 100644
--- a/samplecode/SampleSG.cpp
+++ b/samplecode/SampleSG.cpp
@@ -12,8 +12,8 @@
 #include "SkPath.h"
 
 #include "SkSGDraw.h"
-#include "SkSGColor.h"
 #include "SkSGGroup.h"
+#include "SkSGPaint.h"
 #include "SkSGRect.h"
 #include "SkSGScene.h"