Merge mp3 support from Orphis' old FFMPEG code.

Conflicts:
	CMakeLists.txt
	Core/HLE/sceAudio.cpp
	Core/HLE/sceMp3.cpp
	Core/HLE/sceMpeg.cpp
Uncomment some unused stack-corrupting code from sceMp3Decode. Update ffmpeg.
Fix sceMp3 build without USE_FFMPEG
Fix crash in mp3 reading.
Merge pull request #1786 from unknownbrackets/mp3-support

Fix crash in mp3 reading
Get mp3 sample rate and channels from FFMPEG instead of trying to detect ourselves.
VERBOSE a log statement
Improve button preference UI (there's always one.)
Always use iButtonPreference, fixes #2390.
Add a right stick config for Valkyria Chronicles.
Add right stick options to DirectInput.

At least, my controller uses Z axis/rotation.
Merge pull request #2392 from unknownbrackets/config-fix

Fix button preference, add another right stick setting
Start looping if there is not enough samples.

Fix noise in some looping bgm.
Merge pull request #2397 from oioitff/atrac-fix

Start looping if there is not enough samples.
Eat cycles in sceMpegRingbufferAvailableSize().

Some games call this in a loop, so it affects perf.  And, this eats quite
a few cycles, implying it does a lot more work than I thought it did.
Update native to not wait in the opensl callback. Some minor audio optimizations. Also it seems ffmpeg has changed so update it.
Clean up sceMpegRingbufferAvailableSize().

Avoid a memory copy, some crash checks.
Merge remote-tracking branch 'origin' into mp3-support

Conflicts:
	Core/HLE/sceAudio.cpp
	Core/HLE/sceMp3.cpp
Allow ELFs to be named PBP, there are a bunch of such homebrew floating around it seems
Merge branch 'mp3-support'