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.
It's meant to add robustness to the function. In the future, someone else may use this function erroneously. It seems like the JS way to gracefully handle bad input.

I do see what you're getting at. If they're calling it wrong, they should know and fix it.