Rewritten to use better formatting and make it more idiomatic for c++.
Also fixed the Z axis problem and now the coordinates follow the right
hand rule.  The Vector classes have been highly inspired by the DOOM3
Vector classes.  The Matrix class is broken.  Don't use it.