model viewer, not as simple; copy simple_spin as basis
make PhongShader object; put shader, program, uniforms, and attribs in it
Encapsulate Material
Put vertex array and draw parameters info into DrawList and PrimInfo
break out DrawList and Material into separate .h/.cpp
encapsulate DrawList and Material into PhongShadedGeometry
break PhongShader out, guard drawable.h
Move to boost::shared_ptr for references
break out PhongShadedGeometry into PhongShader .cpp and .h
make gObject with shared ptr