wayland/pointer: Set focus to NULL when the cursor is hidden
This is important when using a touchscreen or stylus instead of a mouse or touchpad. If the cursor only gets hidden and the focus stays the same, the window will still send hover events to the UI element under the cursor causing unexpected distractions while interacting with the touchscreen.
Fix this by emitting a cursor-visibility-changed signal which triggers a repick and always set the focus surface to NULL when a repick happens while the cursor is hidden.