moved Shader management into a flyweight.

all shaders should be loaded in ShaderFlyweight::initialize().
decapitalized Shader functions.
fixed build warnings.
C++ maps are weird.