VideoCommon: keep a copy of the const buffer in VideoCommon

The upload in the backend isn't done, it's just pushed by the mostly removed SetMulti*SConstant4fv.
Also no optimizations was done on VideoCommon side, but I can start now :-)

Sorry for the hacky way, but I think this is a nice (working) snapshot for a much bigger change.
ogl: implement useful constant buffer upload

this will remove the additional memcpy introduced in my last commit
D3D: also uses VideoCommon constant buffer handling

As now both backends uses the VideoCommon one, the old setting API was removed.
videoCommon: remove not supported constant types

I'm pretty sure GPUs can read u8 values, but this isn't exported by the API.

But hey, see unpackSnorm4x8 :-)
refactor alpha setters
ZTextureType
zbias
FogParam
FogColor
Color
TexDim
IndMatrix
MaterialColor
FogRangeAdjust
Lights
OGL: update ubo workaround
VideoCommon: remove SetVSConstant4f
VideoCommon: fix dstAlpha
OGL: Force highp for integers.
PixelShaderGen: Make SampleTexture static inline.