Draft: i965: add support for GL_EXT_external_objects
This series implements the support for
GL_EXT_external_objects, that exposes two extensions:
GL_EXT_memory_object, which allows to import memory objects from Vulkan into OpenGL, and
GL_EXT_semaphore, which allows to import semaphores from Vulkan into OpenGL.
With them, we can share objects between anv and iris drivers.
This MR shares a few commits with !4337