Switch to file descriptors instead of FILE *.

This allows us to support the io modes more accurately, not truncating for create/write, etc.
Attempt to virtually handle truncation properly.

Fixes LittleBigPlanet save problem, at least on US.
Improve error handling when PARAM.SFO can't read.
Fix PAKFILE2.BIN and eboot logic

Fix #5474
Cache reporting support to avoid slowdown.

Turns out checking flash0:/ was not fast, oops, but especially when
disabled.

Also, make the box show as disabled when it's been disabled during the
session, and make it not do that in the menu.
Implement vsbn.s, fixes #3409.

Not sure if .q, etc. can work - won't compile, and I doubt any games try
it.  Just tried a basic implementation with reporting.
Implement vwbn.s, not sure what it's doing...

This passes all the tests I could throw at it.  Fixes #1849.
Simplify vwbn.s slightly.
Merge pull request #5480 from unknownbrackets/vfpu

Implement vsbn.s and vwbn.s
Merge pull request #5476 from sum2012/patch-4

Fix PAKFILE2.BIN and eboot logic
Try harder to show a useful post shader error.

It's worth seeing the error quickly, but mostly will need to look at the
log.
Merge pull request #5481 from unknownbrackets/gpu-minor

Try harder to show a useful post shader error
Avoid spamming sceDmacMemcpy() logging for 0 bytes.

Doesn't hurt anything.
Log the sdk/compiler version under debug.

We weren't logging it at all before.
remove unnecessary nonnegative check for unsigned variable
Merge pull request #5487 from chinhodado/patch-1

remove unnecessary nonnegative check for unsigned variable
Fix some packaging issues with Blackberry and Symbian.
Update ffmpeg for Symbian and Blackberry.
Fix stack overflow on x64 with memchecks, darn it.
Properly allow for Windows' "home space" on x64.

Fixes #5484.