PixelShaderGen: Slightly reduce the number of redundant shader compilations.
OpenGL: Reimplement shader uid debugging.
OSX build fix.
More build fixes.
PixelShaderManager: Disable constant cache (won't work in the non-UBO path of the opengl backend).

ShaderGen: Replace typeid usage with more general code.
PixelShaderGen: Some cleanups.
ShaderGen: Cleanup uid data writing.
ShaderGen: More interface cleanups. Less wtfs :)
Apparently override is less fun than I thought.