add ASN1CharacterString decoding/encoding between different encoding types

Sadly replicate some low level utf8/ucs2/utf32 decoding functions,
instead of reusing one to keep dependencies to the minimum for a
"type" library.

also don't add decoding functions for complicated and deprecated
types like videotex and t61.

Most other encoding are (somewhat wrongly) handled as ASCII.
remove import
add some tests to make sure decoding/encoding function works as expected