Draft: promiseUtils: Add Cancellable promises to await one-shot GSources, Signals and animations
Provide utility functions to make it easier to use more async
code inside GNOME shell especially when it comes to wait for an Idle, a timeout, a signal event or an animation completion.
Comes with unit tests covering the newly added classes.
This should be used as base of !1628, meanwhile Clutter.Actor.prototype.ease*
overrides should probably guard against GLib.CANCELLED errors.