Take zoom levels into account when drawing the caret (issue #127)

In firefox, range rectangles are not affected by transforms applied to
the start and end containers, however, in chrome, the range *is*
transformed.

For Chrome, this means differences between range rectangles need to be
scaled according to the current zoom level in order to be correct. In
Firefox, this scaling is unnecessary if two ranges are compared.

http://dev.w3.org/csswg/cssom-view/#extensions-to-the-range-interface
Section 10, getClientRects, "The transforms that apply to the ancestors are applied."
Correct virtual cursor drawing location in FF when zoomed in or out

All virtual cursor calculations are now down using range bounding client
rects rather than element-based rectangles, so proper scaling can be
achieved.