Refactoring `attrs` to be more general-purpose.
Using the new `attrs` everywhere.
Adding htmlEscape
Using htmlEscape
Merge branch 'attrs_html_escape' - fixes #50