TINYGL: Maths Code Refactoring

This pull request represents the completion of the first deliverable of my Google Summer of Code project.
The PR contains the c++ style math refactored code.
This code mantains the same level of performance of the original version (even though sometimes it also run  faster).
If you have any questions or doubts please ask.
Does this actually HAVE to be unrolled? (Did the compiler not unroll this with static for-loop lengths?)