More customLight changes

allow materials to define the interaction GLSL used by the light