Rubik cube C++ implemetation with OpenGL functionality written from scratch