Improve DecodeMSADPCMBlock performance

A few performance fixes for MSADPCM decoding. In my testing,
this was able to reduce MSADPCM decode times to around 1/3rd of
what they were previously. (Naddachance startup from 18s to 6s).

Note that the force inline stuff is gcc specific. It should probably be
wrapped up in preprocessor macros so that things will still compile on
MSVC.
Merge pull request #1 from sulix/msadpcm-perf-fix

Improve DecodeMSADPCMBlock performance
MSADPCM256
Unroll Mono + Stereo MSADPCM decoders 4x
Get rid of the copy in the MSADPCM->ALshort case
Cleanup + documentation for MSADPCM optimizations.
Merge pull request #2 from sulix/minor-msadpcm-perf-fix

Decrease MSADPCM decode times to about 80%
Bunchacleanup
Huge optimization and code shrinkage
Fix output of the initial samples in the wrong order on mono streams

(This fixes both the unoptimized version and the optimized version)

Confirmed this against the docs at: http://wiki.multimedia.cx/index.php?title=Microsoft_ADPCM