This adds proper support for popups overhanging their swayc bounds.
For locating a surface at a given coordinate, it iterates all the
floating popups first, then floating toplevels and decorations, then
tiled popups, then tiled toplevels and decorations.
For rendering popups, it renders all toplevels and decorations first,
then popups afterwards.