[lipstick] Fix crash on close

When destroying LipstickCompositor ~QQuickWindow() is called after
~QWaylandQuickCompositor(), so changes to the items in the window may end
up calling code such as LipstickCompositorWindow::handleTouchCancel(),
which will try to use the compositor, at that point not usable anymore.
Add a protocol to be used by Alien
Use a surface operation to enable sending oom score events
Merge pull request #214 from giucam/alien

[lipstick] Introduce a custom wayland protocol for alien clients
Add missing build require
Merge pull request #213 from giucam/segfault_on_close

[lipstick] Fix crash on close
Implement a recorder interface, using a custom protocol

A separate client using the lipstick_recorder protocol can request
frames, which lipstick will provide when redrawing.
Send more information to the recorder client

This commit adds a transform argument to the frame event to tell
the client if the frame is y-inverted. It also moves the failure
case to its own event.
Add a request to lipstick_recorder to trigger a repaint