BROKEN: In the middle of a huge refactor - just wanted a checkpoint in case changes to InputManager don't work out
Cleaner (I think so anyway) InputManager API which is now thread-safe and supports multiple independent buffers