Add input encoding parameter to xml.Node/Tree

Issue: All input to `xml.Node`s is assumed to be encoded as `xp::ENCODING` alias Latin-1. Thus, if you already have UTF-8 text, it is converted twice, losing all characters not in Latin-1.

With this patch, `xml.Node::getSource()` has a new parameter for specifying the input encoding instead of using the constant `xp::ENCODING`. As the new parameter is in tail position, existing code is not affected.