Initial TextInput support

The control key seems quite hackish, but it will have to do for now. Its up-to you if you want to merge this, I don't mind if you don't want to, does seem quite messy. I will be using this solution for now however until I can figure out something else.