Update cached client size when the client geometry has changed
The usage of geometryShapeChanged() is highly discouraged because it is
emitted when geometry of any kind has been changed, e.g. buffer geometry,
frame geometry, etc.
This change ports DecoratedClientImpl to the clientGeometryChanged()
signal, so we update the cached client size when the client geometry has
actually changed.