wsi: Metal support
What does this MR do and why?
Implement WSI Metal support for macOS. Based on the headless and Win32 implementations. Implements the core functionality.
This takes advantage of unified memory on Apple devices to directly blit the CPU image to the surface, using a "no copy" buffer interpreted as a texutre.
See demos!194 (merged) for an example usage.