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.
since intensity also conveys information about color, this should perhaps be documented - further more, i would like a description inside the shader, what values and value-ranges are expected. is falloff in degree or radian, is intensity just artificial scale or radiant intensity (W/sr) or luminous intensity (cd) or irradiance (W/m²). further, is direction to be expected normalized? - please add comments for most values, since this is especially important for use and reuse of code for other devs.