Flexible Javascript timers which can be paused and modified on-the-fly