Separate framebuffer sampling params from tex.

This way we don't need to reset params on the texture or worry about
things like that.  We always force on the framebuffer anyway, so this is
simpler.

Also don't enable mipmaps when using a framebuffer, since they don't make
sense currently.
Auto-disable shader blending after 48 per frame.

Should prevent possible massive slowdowns from log reporting.
Update vsync on resize, and before first FBO.

May take care of #4440.
Merge pull request #6337 from unknownbrackets/vsync

Update vsync on resize, and before first FBO
Merge pull request #6336 from unknownbrackets/texcache

Separate framebuffer sampling params from tex
Only download width bytes, not stride bytes.

Fixes #6330, MotoGP not rendering properly with simulate block transfers.
Reuse existing buffer matching for MotoGP hack.
Respect "nearest" filtering setting for fbs.
Merge pull request #6338 from unknownbrackets/gpu-blocktransfer

Don't write bytes between width/stride during block transfers
Support alpha / color test masks on desktop/gles3.

Won't work on GLES 2, though...
Pre-mask alphatest value as a small optimization.

Might cause small behavior difference on gles2 (without bitwise ops.)
Fix a crash in the GE debugger on matrix tab.
Merge pull request #6341 from unknownbrackets/gpu-minor

Support alpha and color test masks on desktop/gles3
Linux buildfix.
Avoid xinput pad jitter resetting axis state.

Should take care of #5526.
Fix dumb typo.
Fix another mistake in color test masking.
GameSettingsScreen: Disable a bunch of options when software rendering is enabled.
They don't do anything when software rendering is enabled, so there's bound to be confusion caused by these options continuing to be enabled.

Conflicts:
	UI/GameSettingsScreen.cpp
Disable more stuff, and use cached booleans instead.

Conflicts:
	UI/GameSettingsScreen.cpp
Do it for post-processing and resolution too, to be consistent.