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.
same here as above, encapsulate identical code fragments into meaningful utility functions