Fixed regression handling.
Added methods setHtmlWithRange2 and getHtmlWithRange to bender.tools.
Made bender.tools.getHtmlWithRange() use element clone to preserve DOM structure of the original element.
Fixed: setHtmlWithRange2 does not purge markers in case of invalid range.
Simplified: text marker detection and replacement in setHtmlWithRange2.
Renamed getHtmlWithRange -> getHtmlWithRange2.
Added methods bender.tools.set/getHtmlWithSelection2.
Renamed in bender.tools: set/getHtmlWithRange2 -> set/getRange, set/getHtmlWithSelection2 -> set/getSelection().
Fixed: Prevent selectionChange from being fire in bender.tools.setSelection until selection.selectRanges is called.