Try fixing sceJpegGetOutputInfo again

I guess the colour info address isn't supposed to be updated if the jpeg errors out, or I think so based on reports from the God Eater Burst thread in the forums. This shouldn't affect working jpegs since the address is still being updated before returning, just not if it errors out. If this doesn't work for the save from the forums, it would have never worked in PPSSPP builds up to today (it basically makes the function _only_ return null without updating the colour address, making it the equivalent of the only implementation other than mine, which was a stub, if it errors out). The previous commit I made worked in the Japanese version, but still bounced back in the US version (wtf?).
Merge pull request #3088 from CPkmn/patch-2

Try fixing sceJpegGetOutputInfo again
Fix VCMP (VC_TR) and optimize a little
Update native (use proper win32 condition variables in 64-bit builds)
Add a setting to launch a separate CPU thread.
Add mutex locks around list management.

This way we can safely execute lists on a separate thread.
Add a simple message event system to the GE.

With this, the CPU thread feature now mostly works.
Add a way to synchronize with the GPU thread.
Bail when CPU thread disabled to ensure good perf.
Rename UseCPUThread to SeparateCPUThread.
Add a "multithreaded" UI option on Windows.

Not on other platforms since not yet tested.
Use separate condition vars/locks for GPU sync.
Use the native cond vars for the CPU thread.
Be more careful with the stall address.

In case it's moved while running the list.