OpenGL Augmentation
Created by: RoanH
Lets redo everything :D
Ok, this is a weird PR that does a lot of things differently has some loose ends and yet manages to not break any existing functionality.
The changes in this PR are there primarily to make the implementation of #35 (closed) and #34 (closed) possible while not breaking any of the existing functionality. The way rendering is done was changed compeletly in this PR. This was done in order to preserve performance for some of the new shapes. So we switched from simple linear drawing to index array guided drawing. The implementation is setup in such a way right now that no real extra overhead is created compared to the previous version. Since it is possible to switch to the previous linear implementation if no index buffers are required.
While working on this I also made some other internal changes and fixed a few things that were not working properly (like transparency).
In any case this PR is required for the implementation of #31 (closed), #32 (closed), #33 (closed), #34 (closed) and #35 (closed) so some fast reviews would be appreciated.