Let there be light

And there was light!
For now there is no scene graph or property implementation, all lights are added in painter.cpp, check that out to see how you can add lights.
```m_pointLights.push_back({ pos, color, ... })``` should work here too. So only parameter encoding would be required and then passed via initializer lists. This just reduces the code required to be read, but has no further benefits?