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.
It's not just unrolling, this is a different implementation that directly uses the formula whereas the other one is using another method (which is generic and thus, slower)