glfw-rs and gl-rs only needed for demo