Handle new piston InputEvent model, Added basic WIP textbox with example

The textbox handles basic text input and backspacing, however that's about all! I still need to:
- Animate cursor when textbox is captured.
- Handle left and right arrows for moving between text (possibly also control keys to move over whole words).
- Text highlighting (this isn't handled at all right now).

You can try it out in `all_widgets` but don't expect anything too amazing just yet ;) Will keep working on this tonight...