Make SkShaders a namespace and move SkPerlinNoiseShader functions into it

I want to reclaim SkPerlinNoiseShader in src/shaders when refactoring
it to remove asFragmentProcessor.

This also enforces IWYU on three public shader headers.

Client CLs:
 - http://ag/23535765
 - https://crrev.com/c/4584205
 - http://cl/537870282

Canary-Chromium-CL:4584205
Change-Id: I9a09f1aa6b2b58fd40e41e74b4a290e75699c220
Bug: skia:13052, skia:14317
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/706539
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
23 files changed