Custom Fps Limiter

First time contributing. Set FPS limit on second page of graphics
settings. Press Tab key or on 360 controller, press left stick to toggle
between 3 states.
Fixed Config saving

Fps limit now saves in configuration. It can also be edited there to
allow for any value of fps.
add D-Pad diagonals for DirectInput;
Improve GE disasm for a few commands.
Fix bone matrix number disasm.
Threads starting better threads should stay at top.

This wasn't correct, I think I must've added it because something else
should've been rescheduling.
Update tests.
Eat cycles in sceKernelReferThreadStatus().

Improves .hack//Link (demo)'s perf significantly, doesn't hurt anyone
else.
Merge pull request #1764 from unknownbrackets/thread-funcs

Scheduling fix and test update
Merge pull request #1759 from CrazyMax/master

add D-Pad diagonals handle for DirectInput
Merge pull request #1763 from unknownbrackets/gpu-minor

Improve GE disasm for a few commands
Merge pull request #1765 from unknownbrackets/perf

Eat cycles in sceKernelReferThreadStatus()
Restore volume shift to 15
In TYPE_SAVE/TYPE_LOAD, show a confirmation.

AUTOSAVE/AUTOLOAD don't, SAVE/LOAD do.
Move some things around and simplify.
Default to saveName for AUTO LOAD/SAVE modes.

Maybe should for others, but at least these for sure.

Fixes #1017.
Merge pull request #1768 from raven02/patch-9

Restore volume shift to 15
Merge pull request #1772 from unknownbrackets/savedata

Improve automatic save/load based on tests
Mix add and xor in the texcache for better results.
Reuse the fullhash when it triggers a reload.

Instead of hashing it again a few microseconds later...