Commit Briefs
retire restore_cursor and the force-redraw optimization (for now)
don't consider restore_cursor as a public interface and while there rename it as restore_curs_x, as it describes better the behaviour of the function. I have to disable the buffer->force-redraw optimization, at least from now, given that cmd.c don't update curs_y anymore, and with that optimisation in place the cursor y position doesn't get updated upon redraw. Add a comment as a future note though.
handle the resize better
Try to preserve as much as possible the current_line and top_line during wrap_page. In redraw_window recompute the correct y position.
optimisation: cache the top_line vline
instead of using the line_off + vline_nth, cache the current top line.
move load_default_keys to defaults.c
free ui.c from (strictly) non-ui code
keep the comment up-to-date
we don't use wscrl (even though redraw_window could gain some speed by calling wscrl in some contexts)