gdk/wayland: Defer processing of globals closures
... until all globals have been received.
The dependency tracking introduced in 4e9be395 only allows to
specify required globals and processes the closures as soon as
the requirements have been met. There are, however, also optional
dependencies - most notably the primary_selection protocol.
Currently we rely on the fact that compositors like Mutter announce
it before wl_seat
, even though the order is not specified in
the spec.
Process globals closures only after all globals have been announced, so optional dependencies can be accommodated.
Closes #3791 (closed)