Fix line-wise selection swap for CRLF line endings

A line-wise selection includes the bottommost newline. The original
code tried to calculate the last line of the selection by trying to
skip left past this newline, but this puts us in the middle of a CRLF
newline character when using Windows endlines (causing an Eclipse
exception).

Simply recreate selection based on the swapped from / to positions.
These can be anywhere on the first and last line, but that is enough
to recreate a line-wise selection anyway.

Fixes #392.