Metal: Reduce link job dependence to context The dependence on ContextMtl is not entirely removed, though it seems feasible. In particular, ContextDevice is passed around while only the real underlying device is needed. Some refactoring is needed here to address that. Additionally, I haven't verified if all that is accessed through the display is thread-safe, which would be a pre-requisite to moving the entire link job to a worker thread on this backend. Bug: angleproject:8297 Change-Id: Ifd4b02694b0997a33d17aad0b47eb7ac4de104e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4784667 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>