Better, template based design for several InputManager functions.
Will lead to less code duplication when implementing other devices.
Added WasDisconnected/WasConnected
Some renamings & namespace removal.