Draw selection overlay over space characters when selection backwards

Selections going backwards (to the left in a LTR language) were not
allowing character elements such as spaces to be selected, as the
selection view was incorrectly using the right-side of the selection
rectangle.

This introduced an issue where the direct client rect rounding
was causing the selection overlay to generally draw 1px to far
to the left at the start of the selection in Chrome, as these
rects are pixel-truncated in Chrome.

Using the bounding client rectangle instead produces higher accuracy as
these are allowed to have decimal values.