When the timer doesn't fire for... days, the counter overflows and does bad stuff. This really only happens when the laptop / browser goes to sleep. We should add a hook to disable/reenable the runloop upon sleep/wake.