Scroll to proper position in annotations

If there is a selection instead of a single line, use the first line in the
selection range.

Takes offset from the navigation box into account and scrolls
to the first row of the commit (scrolling to the **selected** row is
pretty useless, as there is no author or revision info if you are in
the middle of the document).
Paint the cursor position border if multiple lines are selected

When multi cursors and zero width column selection is involved, there are some edge cases where the border does not include the last selected line in the document. But I guess this implementation should be good enough.