+We need to know the following:
+
+ o Where in the sound buffer the base or "zero" time is
+ o At what CPU timestamp the speaker was last toggled
+ NOTE: we keep things "right" by advancing this number every frame, even
+ if nothing happened! That way, we can keep track without having
+ to detect whether or not several frames have gone by without any
+ activity.
+
+How to do it:
+
+Every time the speaker is toggled, we move the base or "zero" time to the
+current spot in the buffer. We also backfill the buffer up to that point with
+the old toggle value. The next time the speaker is toggled, we measure the
+difference in time between the last time it was toggled (the "zero") and now,
+and repeat the cycle.
+
+We handle dead spots by backfilling the buffer with the current toggle value
+every frame--this way we don't have to worry about keeping current time and
+crap like that. So, we have to move the "zero" the right amount, just like
+in ToggleSpeaker(), and backfill only without toggling.
+*/
+ HandleBuffer(elapsedCycles);