some basic utils needed by the tag string generation

These will be used to render the tag string in the base `tag` method.
I put them into their own module as class methods b/c they shouldn't
be mixed in as a template helper - they are just singleton utils.

`escape_attr_value` escapes html attribute values so they can safely
be added to the tag markup string.

`hash_attrs` takes a hash and converts it to a string of html attributes,
accounting for nexted arrays and hashes.