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
I don't want to split them up, but I'm fine with ShaderGenCommon