Add persistent shader cache support to Metal.

Will store either SkSL or MSL shaders for now, until we can
find a way to store shader binaries.

Bug: skia:8243
Change-Id: I4debf553467bbcb4af57aeee96d05bc0a2f2b075
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257687
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
4 files changed