Update: new class template, added debug GL context and an example