Input thread

A threaded input system that allows more paranoid control over input states, and also allows for pushed/release/value states for axes.