Add support for demographics in xml-binding
Add support for round-tripping XML using XMLBinding.

XMLBeans requires the use of an XXXDocument.Factory class in order to set the
correct root element when serializing whole documents. If you don't use that
class, the result are <xml-fragment/> documents instead of <${rmEntity}/>
documents.

Accordingly, improve on XMLBinding by allowing clients to require the use of
the document-based factories.