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.
is matrix_model_projection_no_w_transform actually just a bool?