Base64 XML variants

These two commits implement two variants of Base64 used when the result is to be used as part of an XML element name or as a NMTOKEN.

The second commit changes the signature of the main method in the `FromBase64` trait, as the existing code did not take `config` into account and relied on an assumptions that are not true (i.e. that every Base64 charset uses `-` for 0x3e and `_` for 0x3f).