Messages are suppressed when tab is in background

handleMessage() in sabotage.js checks how old a message is before passing it to the sketch and won't send it if it's over a certain threshold (currently 1000ms). Before, all the setTimeout() calls that should have gone off while on a background tab flood the app when you return. Unfortunately this means all words/stats are lost while the app is in the background, but it keeps running nicely at least. Close #24