wayland-surface: Set popups transient to their parents
Revert "keyboard: Remove focus listener"

This reverts commit 0ac142d39e27e2692cbe0b18136a41bee424a6b0.
Revert "pointer: Remove focus listener"

This reverts commit a8ac2cc27543ef4afe762e8a0675cceef7afdf91.
wayland-surface: Unmanage the window when destroying xdg_surface/xdg_popup

Also, unparent the actor when destroying a subsurface, as well, and
don't free the surface when we destroy the MetaWindow.