x11: Fix shading with non-zero border
There was a geometry change that fixed mixing the next and current geometries. While it did fix issues on wayland, it broke window shading on x11 because of an obscure resize() call.
That obscure resize() had a side-effect that ensures m_clientGeometry has the right value so the next time the window is unshaded, implicitSize() will return a good value.
In order to make window size computation more robust, this change makes X11Window compute the natural frame size based on cached size in m_client, which shouldn't change when the window is shaded.
However, given how buggy window shading is and how difficult it is to make it work right, I think that it's better to deprecate window shading and remove it in some future release.