This adds support for unredirecting (bypass compositing) full screen Wayland client surfaces. It relies on the same helping hand X11 gets from gnome-shell (inhibit unredirecting when there are things visible that would show on top of a fullscreen window). I just created gnome-shell!721 (merged) that handles this at a lower level.
It only tries to do this via the primary plane; we can't make use of any overlay planes without TEST_ONLY and atomic to see if things actually work.
I have tested with with mesa + wl_drm and mesa + dma-buf on Intel, and it works well. If I would pass buffers with different formats and modifiers, Intel would just drop it on the floor silently causing a dead lock, but it seems that if I only select ones with matching modifier and format, it works fine.
Marked as WIP since it depends (thus includes) on !734 (merged).