Basic parser support for whitespace and attributes
safer handling of string bounds in parser
get rid of parse_tag_name() and just use parse_until_char()