Add key polling resources
Add withWindow method
Separate IO from the pure model
Some abstraction over render method
Input events
Move step func out of run
Factor out Input.hs
New pure components
Operating on components
Bring back newtonian movers
Abstract over comp update
Mouse dragging
Refactoring
Refactoring
Model datatype is public
Refactor / Simplify
Factor out common GLFW setup
Abstract to a Scene datatype
Add output events to scene step
Move model into Scene