Re-implement popup passthrough more robustly

Commit 35f48d24bf5c broke popup passthrough a bit, unfortunately. It
works for the context menu, but not for the menu bar.

It is time to ditch the unreliable onpopupshowing/onpopuphiding and
checking properties on root windows for determining if popups are open.

Now we simply just loop through all menupopups and panels and check if
any of them are open. If so, don’t do anything. Otherwise, proceed as
normal.