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.
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
Merge remote-tracking branch 'origin/master'
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
Merge remote-tracking branch 'origin/master'
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.
Use the resize event to update screen size on Qt.

Fixes #5491.
Merge pull request #5454 from unknownbrackets/io-minor

Improve truncation handling on all platforms
Merge pull request #5489 from unknownbrackets/jit-minor

Fix stack overflow on x64 with memchecks, darn it
Win32: Make PPSSPP DPI aware to avoid flickering in fullscreen on some PC hardware setups.
Use a safer method of calling the DPI stuff.