Enforce IWYU on things needed for core build

Client CLs:
 - http://ag/21408973
 - https://crrev.com/c/4247679
 - http://cl/509514434
 - http://cl/509515755

non-trivial changes to:
 - SkBitmap.h to allow forward declares of SkShader and SkTileMode.
 - SkCanvas.h to allow SkSpecialImage to be forward-declared.

Everything else was mechanical.

Change-Id: I297fe955e1846cf3884da871a2a2a144bb7a9a42
Bug: skia:13983
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/642658
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
44 files changed