Initial work on diffuse lighting
Fix normals calculation in Model class

I can't figure out why element arrays suddenly stopped working after importing
files from lib3ds. This patch means we'll have to use more memory to load in the
model until I can figure out what's wrong.
Ambient lighting
Merge branch 'lighting'