ie. don't destroy surface->toplevel on xdg_toplevel destroy. Instead do this on xdg_surface destroy. This allows compositors to add toplevel listeners when the surface appears and remove them when the surface is destroyed.