Significant refactoring.

Moved Mesh and subclasses to shapes package. Fixed global diffuse
lighting. Moved lots of code around.