Visual tutorial

WIP: a set of tutorials that cover the basics of writing Visual classes:

* Using doc coordinates to make physical measurements
* Using framebuffer coordinates for antialiasing
* Using inverse transforms from the fragment shader
* Determining the camera direction (for material shading, volumes, etc.)

Presently I am hung up trying to fix some issues with the camera and projection transforms. 
I'd be glad to take requests for other tutorials..
`self.program.frag['color'] = "vec4(1, 0, 0, 1)"`