Add input controller class to track input state across frames