`.getCurrentState()` & `.setSingleSelectionRange()`

This is for #512.

It should return an object that contains the output of `rawHtml()` and perhaps the selection.
We get two things. One is the raw HTML.