Add API to remove globals without immediate destruction
Destroying a global leads to a race on the client. If a client binds at just the wrong moment they will use an invalid ID and cause a protocol error. The current best thing to do is to announce the removal then remove the global (and thus the ID) only after a delay. Non-ideal, but better than nothing.
Pragmatically this affects: Blur/Contrast/Output/OutputDevice
This deferred removal is not needed when closing the compositor so is exposed via opt-in API.
See https://gitlab.freedesktop.org/wayland/wayland/issues/10 for more.
I hope merge the changes into QtWayland before pushing here, but I thought we could do reviews in parallel.