Feature/basic osg shader

rebased
not sure about this. I mean maybe it makes sense but let's try to extrapolate this system.
ShaderGenerator can be placed in StateSet, as a replacement like we do in sketchfab but what about the default behaviour. I mean does it makes sense that instead of using the StateSet ShaderGenerator we could replace the default behaviour with a registered ShaderGenerator ?
In this case why to have ShaderGenerator in StateSet ? StateSet could contains only a name of ShaderGenerator registered in the centralized ShaderGeneratorProxy ?
I like the idea to have only one place where all ShaderGenerator would be registered. The other think I like is that it's the same way to configure RenderBin ...
What do you think about it ?
In this case it means that checking for ShaderGenerator name from State would be dangerous.