keyboard: Gobble up key events whenever we have a focused surface

If we have a focused surface, we need to eat up key events, not
just if we have a non-empty focus resource list. The latter would
happen if we have a focused client but it never called get_keyboard.
seat: Reorder
seat: Reformat
keyboard: Reorder

The correct order is:

init
release
update
handle_event
set_focus
start_grab
end_grab
other stuff
keyboard: Reformat
keyboard: Remove the useless return value of init
seat: Rewrite handle_scroll in terms of MetaWaylandPointer
seat: Rewrite get_pointer / get_keyboard in terms of MetaWaylandPointer
seat: Move cursor storage to MetaWaylandPointer
seat: Move set_cursor_surface and all that tracking to MetaWaylandPointer
seat: Move update_cursor_surface to the end

It's now only a public API.
seat: Rewrite the pointer interface in terms of MetaWaylandPointer
seat: Move pointer interface over to MetaWaylandPointer
seat: Reorder handle_event helpers near handle_event
seat: Move update_pointer to MetaWaylandPointer
seat: Remove incorrect comment above repick
seat: Don't require an event to repick()

We always pass NULL, and anywhere where we want to pass an event
should be handled internally.
seat: Don't save the current stage ourselves

ClutterInputDevice already saves it.
seat: Group CLUTTER_SCROLL handling together with other pointer events
seat: Rewrite event handling in terms of MetaWaylandPointer