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
Ignore alpha when writing to display.
If __KernelLoadExec() fails, halt emulation.

Otherwise, we have no current thread, nothing can work.
sceKernelLoadExec(.../BOOT.BIN) loads EBOOT.BIN.

Fixes #2289, crash when pressing R+L+Start+Select in Final Fantasy 3.
Merge pull request #2296 from unknownbrackets/loadexec

sceKernelLoadExec(.../BOOT.BIN) should load EBOOT.BIN instead
Merge pull request #2292 from unknownbrackets/fbo-alpha

Ignore alpha when writing to display
Add support for external at3plus decoders on MacOSX 64bit.
Fix Blackberry10 building on non-Windows systems.
Hash/convert more when a CLUT base is used.

This seems a bit strange, but the games that use these bases seem to read
outside the loaded CLUT to a previously loaded CLUT.

May cause a performance issue on games that use a base but don't do this.
Initial impl of sceIoGetFdList().
Return fds in the range 0 - 64 like the PSP.

Some games appear to check ids are valid specifically by checking this
range.  Reproduced on a PSP.
Merge pull request #2303 from unknownbrackets/clut-base

Hash/convert more when a CLUT base is used
Merge pull request #2307 from unknownbrackets/io-minor

Ensure sceIo fds are in the range 0 - 64
Use bit longer horizontal lines