moved codecs into separate module
properly escape html-style
extract CodePointFilterWriter