`^E` scrolls the viewport down one line
Use update-in for b/scroll
Use update-in for update-current-buffer
Fix resize detection
`^E` adjusts the cursor position
Additional checks for `^E`
`^Y` scrolls the buffer up one line
`^Y` moves the cursor up
`^Y` puts the cursor in the right place
`^E` puts cursor at correct column
Remove duplicate j-within-line
`^Y` won't put the cursor past end-of-line
Extract b/move-to-line
Simplify change-line
Make valid-line? the correct sense