Create wrapper around Shader native implementation

Created Shader classes to wrap existing shader classes
in the framework in order to handle creation of either an
SkShader or SkImageFilter.
Updated native Paint implementation to optionally configure
the currently configured SkShader or SkImageFilter

Bug: 143468037
Test: re-ran CtsGraphicsTestCases and CtsUiRenderingTestCases
Change-Id: I7663b92766c912ab3866cf4e39b268f6dcf5d8e2
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 9ae5ad9..0b13754 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -462,6 +462,13 @@
         "RenderNode.cpp",
         "RenderProperties.cpp",
         "RootRenderNode.cpp",
+        "shader/Shader.cpp",
+        "shader/BitmapShader.cpp",
+        "shader/ComposeShader.cpp",
+        "shader/LinearGradientShader.cpp",
+        "shader/RadialGradientShader.cpp",
+        "shader/RuntimeShader.cpp",
+        "shader/SweepGradientShader.cpp",
         "SkiaCanvas.cpp",
         "VectorDrawable.cpp",
     ],