shell: Remove SHELL_SURFACE_MAXIMIZED and use maximized state.

Use the newly added WL_SHELL_SURFACE_STATE_MAXIMIZED state to implement
the maximized surface type.

Change each place where a surface type change was in place to check for
the maximized state too.

Setting the state to maximized must also set the surface type to
toplevel, to keep the same behavior as before this change. Similarly,
setting the surface type to any type should unset the maximized state
flag, to keep the same behavior as before.