updated specs
When cloning a Kramdown::ElementRt, we have to duplicate certain attributes to avoid two elements sharing e.g., the same string instance as value.
Improve how we handle recursion, rename method names to make recursion more obvious.
Updated NestedEmsProcessor. Used the new code from TmpEmClassProcessor and applied proper recursion. This fixes a bug where only the first nested em was being processed.
Removed obsolete code
Refactored TreeCleaner, made code slightly more efficient.
Updated WhitespaceOutPusher and added specs. This fixes a bug where empty :text elements remained after cleanup.
Added specs for AdjacentElementMerger