This class allows a Tickit user interface to run alongside other IO::Async-driven code, using "IO::Async"
as a source of IO events.
As a shortcut convenience, a containing IO::Async::Loop will be constructed using the default magic
constructor the first time it is needed, if the object is not already a member of a loop. This will allow
a "Tickit::Async" object to be used without being aware it is not a simple "Tickit" object.
To avoid accidentally creating multiple loops, callers should be careful to "add" the "Tickit::Async"
object to the main application's loop if one already exists as soon as possible after construction.