Fix audio callback overflow problems by avoiding using Browser.safeSetTimeout, and instead calling safeSetInterval to control the timing drift explicitly.
Explicitly disconnect generated audio buffers with Web Audio API to guarantee no resources will be leaked. (not sure if this is necessary, but it uncovered a timing bug, and doesn't hurt to be safe)
Make the time periods between beeps longer to be able to distinguish audio quality better.