Workaround Tactics Ogre block transfer weirdness.

This works around #4833, while keeping videos in Valkyrie Profile (and any
other games programmed the same way) working.
sceAtracGetNextDecodePosition() : write 0 to outposAddr when before return ATRAC_ERROR_ALL_DATA_DECODED
Merge pull request #4835 from unknownbrackets/gpu-minor

Workaround Tactics Ogre block transfer weirdness.
Merge pull request #4837 from raven02/patch-11

Write 0 to outposAddr when before return ATRAC_ERROR_ALL_DATA_DECODED
Have the shader generators generate modern GLSL if available.

This opens up to use other modern features like dual source alpha later.
Fix bugs in stencil2alpha, fix bugs in glsl 3 support, enable dual source blending where available

The stencil2alpha bug fixes fix some glows in Wipeout, dual source fixes the rest.
Regression fix #4837
Merge pull request #4840 from raven02/patch-12

Regression fix #4837
Set float for gstate.getStencilTestRef() * (1.0f / 255.0f);
Merge pull request #4842 from raven02/patch-13

Set float for gstate.getStencilTestRef() * (1.0f / 255.0f);
Use #version 130 for OpenGL 3.0+ to support out.

Otherwise it just gives errors on cards that support dual source blending.
softgpu: Attempt to implement GE_PROJMAP_UV.

Looks okay, not sure if it's fully correct.
Clip in PPGe, fixing issues in softgpu.

We were just drawing wrong, so softgpu was correct.
softgpu: Use the display, not current, framebuffer.

Fixes blinking in save dialogs and probably other bugs.
headless: default to single core.

Was zero before, causing divide by zero issues.
softgpu: Don't mask out so much of fb stride.

Seems like anything from 4 is supported in 8888, most likely it just needs
to align to 16 bytes.  Values above 1024 work, but e.g. 2044 seems buggy.

Fixes the map on Hexyz Force (rendered at 80 stride.)
softgpu: Properly swizzle 16 bit textures.

Fixes for example the graphics in Fieldrunners.
softgpu: Retain accuracy in depth for tests.

Fixes intro/menu issues in Phantasy Star Portable 1/2, and text in the
first, both of which now look correct.
softgpu: Fix black objects with bilinear filtering.

Dividing by 256 gives us a range of 0-253, and incorrectly gets zero for
some components (guessing alpha, primarily?) in some games.

Dividing by 255 has a speed hit, so a slight bias to the top left seems
like a decent performance compromise (and it's a very slight bias.)
Allow auto frameskip to skip > 1 frame.