Shade mapping fix
SW T&L
Avoid using an invalidated iterator
Add a couple missing (unused) ARM instructions.
armjit: Tiny optimization for cast to short.

See these sometimes in code, skip the load of R0 when we can.
armjit: Specifically optimize check for negative.
Typo.
Correct disasm for BFI/BFC/UBFX/SBFX.
B/BL were swapped in the arm emitter.

Oops...
Add Try arm emitter I2R funcs.

This way we can use them without giving up the regcache's immediate
optimizations.
Optimize ANDI2R() to use UBFX if possible.

This way, & 0x7FF or & 0xFFFF etc. are all fast when on ARMv7.
armjit: Use our I2R arm optimizations.

Should help cases of ori and andi most, but also addiu.  They will all try
to use an optimized immediate (from another nearby value) if possible.
armjit: Use our I2R funcs on reg/reg math too.

When one is a known immediate.  This should catch more cases, like:

ori v0, $0, 0xFFFF
and v1, v1, v0
armjit: Try to use nearby immediates in slti/u.
armjit: Skip an AND for rotate shifts.
Mp3 Audio Support.
Now, we can play mp3 audio format. :)
Update VS project files
Merge pull request #5657 from kaienfr/mp3_support

Mp3 audio support
Fix Unix-like builds.
Further fixes.