fix bug: need to trim CDATA before conversion in every apply()
new approach to optimize heap use for CDATA collection

  also checks/sets root element immediately; parser can fast-fail and
  it looks a lot cleaner
add the xml unfucker and a new test case, disable old test