window: Move set_custom_frame_extents to be X11-only

Wayland doesn't use custom frame extents anymore -- it uses a full
geometry description.
window: Don't queue move/resizes if the extents are the same

GTK+ sets the frame extents on every allocation, so don't bother doing
any extra work if things are the same.
window: Adjust the frame rect when _GTK_FRAME_EXTENTS is set on map