glfw context implementation, timer abstraction and implementation