* Make XMLBuilder generic
* Reduce allocations at XmlData display impl
* Implement streaming writers
- Extend BuildXML trait, add the streaming method
- Remove impls for Box<Ty>, as they can be implemented on the trait level
- Rewrite build() methods in chaining style, backed by apply_* helpers
- Remove quite a few allocations, though numbers still produce them
- Add spaces between children nodes, fix tests
* Add rustfmt.toml and format code
* Fix clippy warnings
* Expose the BuildXML trait without displaying its methods in hints