Use wl_global_remove in libweston
Instead of having core, plugins, whatever call
wl_global_destroy() directly, offer an API that wraps a
struct wl_global and uses
wl_global_remove() from wayland!28 (merged) under the hood to prevent clients racing with the removal. Naturally this requires tracking the new structs in
struct weston_compositor and the associated timeout to finally destroy them after removal.
Use this new API for all
wl_globals everywhere in the Weston repository.