linux/threads: simplify timer code

Possibly also changes the semantics. According to the docs, it should now be
equal to the Windows code (up to accuracy issues, of course).

ping @gregory38 

This is actually more of an alternative implementation so that I can learn and find out why the current implementation is the way it is.