Solid primitives now use a geometry shader.

Solid primitives now use a geometry shader for wireframe rendering.
This gives a performance boost (and looks prettier too).

As a result, the old primitive shader is now only for line primitives.

This new shader has been added into the list of default shaders.
Minor change to variable names.
The Window class now contains a viewport matrix.
Updated the example scene.