[wayland] Destroy XdgToplevelClient and XdgPopupClient on unmap
There are several ways to handle unmapping of a wl_surface. The first one is to destroy the associated AbstractClient instance. The second one is to transition the AbstractClient in a special state. The problem with the second approach is that it makes animations such as fade out more difficult to handle since effects in kwin are geared more towards the first approach (destroying AbstractClient).
Showing with 333 additions and 534 deletions