TermBuf::Input::Event
Anything the terminal has to say, in the order it happened.
A marker module every event type includes, rather than a union of the ones
this shard happens to define. Channels, signatures and instance variables
are typed Event and keep working, and a shard that defines an event of
its own includes this and can send it down the same channel. termbuf's
own resize event is one such: it lives on the terminal side because it
carries a screen size, and it arrives on this channel like the rest.
Being open, it cannot be cased exhaustively: a handler needs an else
for the event kinds it does not know about.