DSP: DMA behaviour adjustments to fix regressions

FF:CC was experiencing timing problems with the AIDMA and DSP interrupts.
The AI Interrupt was firing first, before the DSP had signalled that it
had completed processing the previous chunk of samples - this caused the audio
subsystem to break. It was fixed by getting DSP interrupt to be set asap
when the DSP is done processing rather than scheduling it on a new event.

The changed behaviour for AIDMA transfers of length 0 was tested and observed
on real (wii) hardware via homebrew. This fixes the Pokemon Snap
regression.