implement some stuff
Initial sceKernelRotateThreadReadyQueue().

Might not be right but it's closer.
Makes games that call this func much faster.
Fix completely wrong thread status switching.

Wow, kinda surprised this even worked...
But now things that use sceKernelRotateThreadReadyQueue are broken again.
Start the root thread as running, properly.
Keep running threads at the top of the list.

There we go, this seems more right.  Switched to a std::list too.
sceKernelRotateThreadReadyQueue(0) means current.
Don't use an f suffix in GL shaders.

Error found in Hexyz Force.
Return an error for invalid priority.
Only switch to a started thread if better priority.
sceIoDread() should return 1 when there are more.

Before it was returning > 1 if there were many more, which the PSP
did not do.
Correctly read ISO 9660 directory entries.

Before, we would often duplicate the last entry in a directory.
In jit slowmem, verify actual address.

Oops, it could crash if it was near the boundary.
Well, it still could if it were very near, but that's rare.
Validate jumps in jit slowmem mode.

This makes it easier to see what is going on in the emulator debugger.
Merge pull request #633 from unknownbrackets/gpu-minor

Don't use an f suffix in GL shaders
Merge pull request #635 from unknownbrackets/io-minor

Fix sceIoDread() and ISO 9660 directory reading
Merge pull request #636 from unknownbrackets/jit-minor

Fix slowmem check and add jump check
Minimal revert of the GE-related interrupt changes.

Keep most of them, just revert using getList() which isn't cutting it
right now.  Fixes #595.
Merge pull request #634 from unknownbrackets/thread-funcs

Implement sceKernelRotateThreadQueue() + queue fixes
Merge pull request #637 from unknownbrackets/dlist2

Minimal fix to the GE-related interrupt changes
Let's specify MAX_LOD whether it works or not on gles 2...