WIP: XWayland Present frame callback optimization
First commit creates frame callbacks also when we only queue events, such that clients' responses are aligned to the real frame rate of the compositor.
This is problematic since a commit afterwards is needed, which might erase prior damage done through the
Second commit tries to hook into the
xwl_window->frame_callback from Present part. In case the callback exists, just reuse this one instead of creating another one.
Frame rate is now correct for glxgears in KWin (uses copying in windowed mode because of reparenting). But VLC videos are played not fluidly in windowed mode.
Sample testing showed also that CSGO does not start, other games I tried did.
Another step would be to remove the frame_callback from xwl_present_window completely and only hook into the xwl_window one.
Fixes issue #631 (closed).