Rewrite handling of DTK (streaming) audio.

The primary motivation here is to make sure we submit samples from the
CPU thread. This makes sure the timing of related interrupts accurate,
and generally keeps the different kinds of audio synchronized.  This will also
allow improvements to audio dumping functionality.

The new code is also more concise because it gets rid of some duplicated
audio mixing code.
DTK audio: merge audio sample timers.

Instead of having the DVD code push samples to the mixer on a separate
timer, just use the existing streaming sample timer in the AI code.

This should make it much more clear how this code works for anyone reading
it.  Also fixes some small bugs; we can now properly pause audio, and
audio interrrupts should be a bit more accurate.
Audio mixer: remove check for ratio > 1.0.

The code actually handles this case correctly; the algorithm is linear
interpolation between the two closest samples, and the way it is written
should work correctly with any ratio.