The wrapping call_protected invokes send_errors_to_output
send_errors_to_output uses Text.insert_text, which was extracted from
the paste implementation on Nov 20. But it doesn't scroll, and so the
cursor is off screen.
Drawing frames never sets cursor_x or cursor_y.
Mouse wheel indirectly requires them to be set. Boom.