Allow passing resolution option for select timeout

This removes the optional argument to IoLoopBody#tick, and adds a
constructor option to specify the resolution instead.
Change default tick resolution to 5 ms

The previous default of one second meant that in a reactor loop where
the select call times out any scheduled timers would have no better
precision than one second.