constraints: Make meta_window_constrain take window geometry rects

Remove extend_by_frame and unextend_by_frame. Use a dumb hack in
window.c to translate into window geometry in back. We'll soon track
all rectangles in MetaWindow in terms of the window geometry.
window-wayland: Split an if statement in two
window-wayland: Clean up a bit
window-wayland: Don't enter the only-moving path for Wayland resizes

We'll be adding additional code here for "correct" moving soon, so
we need to make sure not to do it for Wayland resizes.
window-wayland: Make sure to save where the position for server-initiated resizes

For the server-initiated resize case, like unmaximize or some forms
of tiling, we dropped the x/y of the server-assigned rectangle on the
floor, which meant the surface didn't move to where it needed to be in
that case. Now, save it internally, and combine it with the dx/dy passed
in during attaches to figure out where we actually need to be.

This fixes incorrect surface placement after unmaximization.