Add polymorphic lighting

Add Illuminator trait for things that provide light
Support directional lights