Begin Timer API; begin fd event mechanism

The Timer and Event APIs are entirely sketchy at present. I will see
tonight at home if I can somehow cleanly do things with minimal indirections
interfering.

The Timer is clear: create, destroy, start, stop a periodic timer.

The idea behind the Event API is trickier: register event sources as fds
(currently only readable) and poll them. Then call the associated callback
(which will get another signature soon).

Furthermore, a 'user event' API shall establish where event numbers can be
sent (to a pipe internally). The pipe is actually just another event source
which has its handler built-in and dispatches the registered callback from
the user.

This sounds all good and kind of scalable today (not that much with
performance but it's enough; I mean scalable with new event sources and
things) but I hope that I can get it simpler.

Note that this commit deliberately leaves the engine broken as I've no time
left and will need the sources at home :-)