Use parentheses around int addition for toString.
Restore reversed selection with vertical bar caret

Restoring a selection would always use the left-shifted vertical bar,
making for a weird looking selection if the previous selection was a
reversed one.
Don't change caret if selection is exclusive.

In that case a vertical bar is used by all modes, and that one doesn't need
mirroring. Setting the caret back to RECTANGLE is thus a mistake.