GUI API has a RECTANGLE base, not triangle.

- We just won't draw triangles, and this way we can optimize by using
EBOs.
- API DRAWABLE has a pointer to shader program, pointer to viewprojmat,
and uniform location of said matrix. It is constructed with a ptr to the
vpmat.
- Added primitive shaders.
Merge branch 'master' of https://github.com/aszkid/glengine