Support different selection view renderers

In certain cases it is useful to be able to swap out the technique used
to render cursor selections on the document. For example, SVG polygon
based rendering interacts badly with mouse events on the WebKit build
shipped on MacOS X 10.7.5.
Merge pull request #280 from peitschie/selection-renderer

Support different selection view renderers