rewrite
closer to rewrite
.
rewritten
rewritten
rewritten
pretty much working
.
safety against applying an empty diffset
corrected attribute functions
text node handling was missing!
handle text node changes

Text node changes, such as described in issue #54, would produce an error.
make all text node changes use REPLACE_TEXT

until now some text node changes would be caught by REPLACE_INNER_HTML and others by REPLACE_TEXT. This should make sure all pure text node changes are caught by REPLACE_TEXT.
find inner attribute differences

As explained in issue #53, attributes of inner nodes are not (always) found. This change takes care of the test case.
rename REPLACE_TEXT to MODIFY_TEXT_ELEMENT and add undo for it
merged all changes
remove need for normalizing nodes
adding hooks for applying text node changes, issue #49
replaced .slice().push(i) with .concat(i)
removed rewriting of Array.push as it doesn't work consistently here, issue #58