Updates for base lighting

* renderer now uses a vector containing lights
* lights now have their own types and initializers