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.