More namespace support and refactoring:

There is now a data model for the namespace context, which is used by tree walkers to
keep track of namespace prefixes. That job is done by XmlStreamReader/Writer during parse/emit.

Finer grained tree walkers and a tree zipper keeping track of ns-ctx.