wayland: don't block when not receiving events

Don't block the playback if we don't receive any frame events.
Use 2 callbacks. One callback for our own loop and one for eglSwapBuffers.