Implement IMA ADPCM WAV file support

Fixes #4628.

Unfortunately it seems @jamslater lost interest or is otherwise not able to continue working on it at the moment, so I'm trying to bring this into a "good enough" state so we finally have an alternative to AUD with both compression and stereo support.

Code is pretty much @jamslater's work, I just rebased and tried to adress at least a few of @ScottNZ's style nits.
I'll need more specific examples for further improvements in that regard.
Sorry, I just tried to read up on casting, but I just cannot get my head around it (at least I couldn't get it working in this case).

How exactly do I cast an AudioFormat value directly to a WaveType?