Lighting cleanup

This branch cleans up our lighting code:
- ppl doesn't require to upload the consts twice
- also for shaderManagers
- use structs for lighting constants
What's the reason for moving these defines here?