Added makefile, explicit template instantiation and uniform getters.
Replaced Java-like listeners with std::functions.
Workaroud to render without primitive restart(using degenerates).

OpenGL 2.1 support will probably come soon.