Add XML namespace support.

Use namespace-aware versions of Expat and libXML2 interfaces in order to implement full XML namespace support. Use of namespaces, whether by prefix or prefix-less canonicalization collapsed into unprefixed element name, with namespace URI in xmlns pseudo-attribute.

See Issue 51 for more details.