New input system

Adds better support for typing
- numbers
- special characters
- uppercase characters