pointer: Repick on update, not on handle_event

pointer->current needs to always be the surface under the pointer,
even when we have a grab. We do need to make sure we keep the focus
surface the same even when we have a grab, though, so add logic
for that.
display: Remove COMPOSITOR from mouse/keyboard grab ops

Looking at the code paths where is_mouse / is_keyboard are used,
all of them should never be run when dealing with a COMPOSITOR
grab op, since they're filtered out above or the method is just
never run during that time.

It's confusing that COMPOSITOR is in here, and requires us to
be funny with other places in code, so just take it out.
pointer: Remove get_focus_surface

Yeah, I was wrong, it doesn't improve code clarity.
data-device: Clean up slightly
display: Rename META_GRAB_OP_WAYLAND_CLIENT to WAYLAND_POPUP

We're going to introduce other grab ops soon.
display: Expose meta_grab_op_is_mouse_only

And use it properly in some event handling code.
display: Rename meta_grab_op_is_mouse to is_moving_or_resizing

is_mouse actually checks for all combinations of moving/resizing
grab ops, which is quite confusing. Just rename it.
display: Rename is_mouse_only to is_mouse
display: Don't bother checking for mouse/keyboard separately

Just use our new is_moving_or_resizing method.
display: Use grab_op_is_moving_or_resizing
window: Remove is_window_root

The entire point of it was to check whether the window was on the
right screen. Since we don't handle multiple screens anymore, we
don't need to check anything anymore.
window: Properly end grab ops started from a keybind / menu

If we start a grab op from a keybind / menu, we'll handle the
ButtonPress and drop the grab then, never giving the window a chance
to handle what it needs to do before the grab is dropped.

This means that if you use Alt+F7 to move a window around, move it
to a side-tiling or maximization area, and then left-click, it will
just hang there in the sky.
events: Add explicit break

This doesn't particularly matter, since we fall through into a default
case that does nothing right below, but this matches the other paths
and it prevents us from falling into a trap if we add other event types
below.
display: Clean up end_grab_op
display: Remove unused grab variables