Xwayland fullscreen improvements
A patchset for improving fullscreen related behavior for xwayland surfaces. See the commit descriptions for more details. Here is an overview:
The first patch enables shells to properly transition an xwayland surface to the fullscreen state. Without this patch, xwayland surfaces are resized to the proper size, but are not moved to cover the whole screen, and the still display window decorations.
The second patch teaches xwayland to interpret the choose-your-own-dimensions 0x0 size hint, and try its best to produce sensible dimensions. This hint is also used by shells when a surface returns to the normal state from fullscreen/maximized and this patch caters in particular for this scenario. Without this patch xwayland surfaces transitioning to the normal state end up with a 1x1 size. Alternatively (or even in addition), we could consider making shells keep track of the normal dimensions and restoring them explicitly, without resorting to the 0x0 hint.
The third patch updates xwayland to inform shells when a window loses its fullscreen state.