Debugger fix for time jumping

Thanks @evancz for the guidance! By keeping track of how much time we spend paused, we can offset our timers and the debugger program can perceive time without skips.

There are now hooks in `Init.js`. I tried to make them as safe as possible by coercing the offset to an int. I've replaced all calls to Date.now() to use the new hook so that everything should run smoothly after a pause/continue cycle.
I prefer to fail immediately than to cast something to the right thing by accident