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

This is for #512.

It should return an object that contains the output of `rawHtml()` and perhaps the selection.
If `state.selectionRange` isn't set, it's undefined. Which means you need to do `typeof state.selectionRange !== 'undefined'` when checking it. I find that to be more complicated than just `state.selectionRange !== null`.