split up escaper to reduce complexity
add escaper getters, and add comments
add docs, and encoding/flags management method on Escaper
add docs and tests
modify EscaperFactory and add docs
add docs
use EscaperFactory in config