geometry and buffer optimisation. color, normal and texture coordinate buffers were created when they weren't used.
added boolean parameters to primitives to indicate whether specific buffers should be created or not.
also added a ScreenQuad primitive. this was done with a regular Plane before but this was very confusing.
also added a bit of documentation to the primitive classes.