Input system redesign to decouple it from OIS and be able to work with other input systems like cocoa