in ToString() if the format argument is true, call xmlKeepBlanksDefault(0)

per the [libxml docs](http://xmlsoft.org/html/libxml-tree.html#xmlDocDumpFormatMemoryEnc):

```
  Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1
  or xmlKeepBlanksDefault(0) was called
```

Setting xmlIndentTreeOutput = 1 isn't sufficient, though.

[xmlKeepBlanksDefault](http://xmlsoft.org/html/libxml-parser.html#xmlKeepBlanksDefault)(0) tells libxml to trash nodes that it thinks (by heuristic)
are non-significant whitespace so that it can re-create the whitespace needed
to do its own indentation.