Expanded geometry classes

Fleshed out vertices, lines and faces. Vertex structs have also been
replaced by classes in order to be passed by reference.