GCMemcard: fix edge case of adding to a fragmented memcard.

allocates last block of memcard, and then wraps around, instead of attempting to write past the end of the card
ogl: fix signed vs unsigned comparison warning
ShaderGen/D3D: inline centroid
ShaderGen: merge early-z blocks of ogl+d3d
ShaderGen: use cbuffers for D3D
ShaderGen: inline constant shaders
PixelShaderGen: drop fmod as it isn't used any more
PixelShaderGen: extract iround
ShaderGen: make clipPos readonly
ShaderGen: OGL: don't make a copy of "Normal"
ShaderGen: make uv readonly
VideoInterface: accurate XFB width and height.

What we call "fbWidth" here is really the stride, but I'll fix that in a
followup.
VideoCommon: recreate XFB texture when the XFB size changes.

We need to do this to correctly deal with games which dynamically change the
XFB width and height.
VideoInterface: clean up naming and bitfields.

Matching the hardware more closely will hopefully make this code easier to
read.
Merge pull request #336 from magumagu/xfb-vertical-scale

XFB width/height handling fixes
Merge pull request #330 from LPFaint99/GCMemcard_addsave_fix

GCMemcard: fix edge case of adding to a fragmented memcard.
Merge pull request #185 from degasus/shader-cleanup

Shader cleanup