The timer thread. Although we are using purely native threading, threads
need to occasionally be poked for the purposes of sampling and OSR.
It should be noted that the implementation of this class prioritizes
unobtrusiveness and lock-freedom over precision. For example, on any given
timer release some threads may be missed or poked more than once, with the
understanding that if they are missed on one release then they will (with
high probability) not be missed on a future release.
It may be that to make the system scale, more than one timer thread will
be needed. But for now, this should suffice.