[graphite] Move SkSL compilation into MtlGraphics|ComputePipeline::Make

This is just a code move, but updates the Metal backend to match the
factory pattern that has been used in the Vulkan and Dawn backends
where the ResourceProvider is relatively unaware of what goes into
creating the pipelines from the descriptor objects.

This also opens the door for GraphicsPipeline to track metadata
with protected types/access that is easy to fill in from the
factories that are now all within scope.

Change-Id: I5ac56ff226ed0091d99f7ccc72d8eab0e28e5e39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/896719
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
6 files changed