Adding the basic interface for input devices built on top of what's provided by GLFW3. Needs some revision.