cursor: Split out the structure for the actual textures / buffers out
This will allow us to have a MetaCursorReference 'subclass' that's lazily loaded. We currently always load all the images. The long-term plan is to have a subclass for each "backend" and only have CoglTexture as a common denominator. For the nested X11 backend, we use XDefineCursor on our stage window. For the Wayland backend, we would use set_cursor on our stage surface. For the native backend, we would use the GBM code that's there right now. The CoglTexture is there to be a "shared fallback" between all devices, and also for the get_sprite API. The odd man out is the X11 compositor case. For that, we need to move the responsibility of setting the final cursor image out of MetaCursorTracker, and simply have it be about tracking the used sprite image and pointer position.
Showing with 53 additions and 44 deletions