Decouple SkColorFilters and Ganesh GPU code

This moves all asFragmentProcessor code to GrFragmentProcessors.cpp

In order to do this, I needed to extract some class definitions
to headers and rename some files/filters to be more consistent
so we can use a macro like SK_ALL_COLOR_FILTERS.

I decided to expose some fields in the color filters as
public (but still internal to Skia) methods instead of defining
friend functions, as those definitions were long and unwieldy.

As I was doing this, I enforced IWYU on the files I modified
to help streamline #includes.

Suggested Review order:
 - SkColorFIlterBase.h
 - SkColorFilter.cpp -> SkComposeColorFilter,
   SkWorkingFormatColorFilter, SkColorSpaceXformColorFilter
 - SkTableColorFilter.cpp -> SkTableColorFilter.h,
   GrColorTableEffect
 - SkRuntimeEffect.cpp -> SkRuntimeColorFilter
 - SkColorFilter_Matrix.cpp -> SkMatrixColorFilter
 - Other colorfilters to see .cpp -> .h
 - GrFragmentProcessors.cpp
 - Remaining files.

Change-Id: Ifce96cf854166a46a81a4a354154a00d4c300e1d
Bug: skia:14317
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/703678
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
43 files changed