(cursor_row_p): New function.
(try_cursor_movement, display_line): Use it.
(append_space): Also save/restore iterator's current
character and its length.
(init_from_display_pos): Add an assertion.
(handle_stop): Don't set iterator's add_overlay_start.
(handle_invisible_prop): Likewise.
(load_overlay_strings): If text under an overlay is invisible,
take both before- and after-strings into account when the iterator
is positioned either at the start or at the end of the overlay.
(forward_to_next_line_start): Rewritten.
(reseat_at_next_visible_line_start): Rewritten.
(set_iterator_to_next): Add parameter RESEAT_P.