Light Entities

* adds support for Light entities
* updates edit tools to support new light based properties and types
* adds a new example of a spotlight
It looks like there is an extra open brace { above this, but... maybe it is github's diff mode getting confused?  I wouldn't expect the code to compile correctly if the extra brace is real.