Initial work on multipass Material class
Tentative first draft of Material2

Multi-pass functionality.
More changes to Material2
More changes

Changed Material2::Render() to iterate first by mesh, then by pass,
instead of the other way around.
Small fixes to code
Mostly working

Seems to work, but using a framebuffer causes an OpenGL error
Works fine with frame buffer now

Made an error with the order of operations -- I needed to set all
uniforms after enabling those uniforms' shader program.
Oops, compile errors

Fixed minor compile errors from last commit
All done!

Everything works perfectly.