Fix div-by-0 bug in chart generation.
Add timers.

Note that in-browser sounds don't work yet, the only indication that a
timer is done is that it expires and the font turns red.
Fix timer implementation, and make noise work.
Some fixes for mobile clients.