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

This is for #512.

It should return an object that contains the output of `rawHtml()` and perhaps the selection.
This is for restoring the selection as part of going back in history (undo). The range that will be restored is obtained from the the `selection` in the object that is returned from `getCurrentState`, like:

```
var wym = jQuery.wymeditors(0);
var state = wym.getCurrentState();
var range = state.selection.getRangeAt(0); // I've never encountered more than a single range. I'm not sure how that could occur.
var wym.setSingleSelectionRange(range); // This does it!
```