Added full keyboard support

Closes https://github.com/PistonDevelopers/ui/issues/2