On GPUs that support it, we now present OpenGL contents via CAMetalLayer. This fixes frame skipping issues found in T60043. If the system does not have a Metal capable GPU, NSOpenGLView will continue to be used. Patch by Tomoaki Kawada, with some changes by Brecht Van Lommel. Differential Revision: https://developer.blender.org/D4619