Handle frame callback requests and refactor

Move all type definitions except GnobileCompositor into compositor.c.
Other components don't need to and shouldn't access them.

Currently, only the first frame of the wayland client simple-shm
displays, before crashing with the following message:

    Both buffers busy at redraw(). Server bug?
    Aborted (core dumped)