Required a decent refactor of the protocol to be more swapchain based.
Tested with Dota 2 + `-vulkan -vulkan_enable_google_display_timing`
Should hopefully improve latency/pacing in nested a good amount too.
We'll implement some more features on top of input-method, so let's
incubate our own protocol for now. We'll give feedback upstream
once we've experimented a bit with this approach.
The protocol is minimal: it just includes the features needed for
gamescope. It's always easier to add new requests/events than to
change existing ones.