Add an IOSurface SharedImageBackingFactory

Texture sharing between OpenGL and Metal on Mac has to be done through
IOSurfaces so we add a SharedImageBackingFactory for this OS-specific
mechanism.

SharedImageBackingFactory starts with supports for producing GLTexture
SharedImage representations as well as legacy mailboxes. Support for
other representations will be added in later commits.

BUG=chromium:938895

Change-Id: I4aa5faf026c273b3a02820ed08c3a502e6769678
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1505511
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#638720}
7 files changed