wayland: Clean up code determining how to map a window
wayland: Clean up code determining how to map a window

Restructure the mapping procedure so that its known up front what the
expected way mapping is to be done (subsurface, popup or stand alone),
and warn if it fails to actually map in such a way (for example a popup
without a parent or device grab, a tooltip without a parent).

https://bugzilla.gnome.org/show_bug.cgi?id=756496

grubersjoe/adwaita,grubersjoe/adwaita,grubersjoe/adwaita,grubersjoe/adwaita,alexlarsson/gtk,alexlarsson/gtk,grubersjoe/adwaita,grubersjoe/adwaita,grubersjoe/adwaita,alexlarsson/gtk,alexlarsson/gtk,alexlarsson/gtk,alexlarsson/gtk,alexlarsson/gtk,alexlarsson/gtk,grubersjoe/adwaita