Maths Code Refactoring

This pull request represents the completion of the first deliverable of my Google Summer of Code project.
I managed to refactor all the maths code in a c++ style while mantaining the same level of performance.
If you have any questions or doubts please ask.
Well, the problem I see is that this makes the X token globally redefine to _v[0]. This is not THAT likely to cause conflicts here (as any variables we have should be "x" and not "X", they shouldn't get touched by the define). But this does mean that zmath.h should never be included by any header that gets included outside of graphics/tinygl