xdg-shell: Relax popup destroy order requirements
Calling destroy on any popup other than the topmost popup associated with the given toplevel is currently a protocol error. As younger popups stack on top of older popups, this means that an older popup cannot be destroyed before a younger one.
This requirements conflicts with legitimate use-cases, such as having an older tooltip disappear after a newer tooltip has opened, or dismissing a context menu after a popup-based notification has appeared.
Relax the destroy requirements to allow out-of-order popup destruction.
Signed-off-by: Kenny Levinsen kl@kl.wtf