improve window maximize handling

This patchset improves a bit handling of maximized windows. Changes:

shell: block move, rotate, resize in maximized state
shell: reset rotation for maximized surface
window: save allocation only for toplevel window
window: restore maximized state from fullscreen mode if necessary