Provide Timer class(es).

A minimum timer has start/stop semantics, extensions include expired timer events, etc.