TextIO: set X/Y and scrolling region take 1-based co-ordinates, so handle that (eg, 1,1 is the top left corner).
TextIO: fix 'erase from current line to end of screen' to do just that.
TextIO: make sure our scrolling region start is always before the region end
TextIO: Fix scrolling on the Y axis, and also writing a backspace character (0x08) should only move the cursor, not delete the character there too.

VIM now works with deleting lines ('dd' command), and scrolling output works too ('ls applications').
ttyterm: send CTRL-<key> as an unprintable, so control characters work again (^C for example)