Improves/Cleans ShaderGenerator system

- Add Compiler object in ShaderGenerator to be replaced if necessary
- Add a filter system in Compiler to handle only Attributes
- Moves some functions from StateAttribute like
  Material/Blending/... into StateAttribute base classe
- Add shim 5/6 for tests (phantomjs) because of introduction of Map/Set
Setup shader generator example

- demonstrate how to add custom StateAttribute
- give an example how to add custom ShaderGenerator and controlling them
  from StateSet
- use two approach uniform for enabling an attribute or rebuilding of
  shader from flag