wayland: Fully dismiss invalid popups
Do not just destroy but dismiss() invalid popups. Besides destroying the popup, this also takes care of undoing the MetaWaylandPointer grab when there are no further opened popups, thus ensuring correct grab state after a grabbing popup was forcibly dismissed because of policy reasons.
Closes: #2728 (closed)