Added Dynamic Lighting

There's room for optimization, but it works.  Multiple lights can be
blended together for nice effects.

Signed-off-by: James Hagborg <jameshagborg@gmail.com>