Some Wayland window state change resize fixes
This fixes a collection of issues, namely:
- Resizing a gtk window prior to maximizing and showing it resulted in the non-maximized size being respected
This is very visible when starting Firefox maximized.
- Going tiled -> maximized -> floating would fall back on the wrong size
This can be reproduced by opening some random window initailly floating, then making it half-screen tiled, then maximized, then back to floating (Super+→ then Super+↑ then Super+↓ in GNOME Shell for exampe).
- Going untiled -> tiled -> untiled would result in a smaller size
Can be reproduced by opening some window, then pressing Super+→ followed by Super+↓ in GNOME Shell. Doing it repeatedly will make it very obvious that the window is shrinking each time.
It's somewhat "best effort" like, given the somewhat annoying way gtk3 handles shadow margins and window sizes.