[tests] added test for second occurance of same attribute

fixes #42
[tokenizer] started adding support for HTML entities

TODO: so far, only numeric entities are decoded
[tokenizer] corrected decoding of numeric entities
[tokenizer] numeric entities are now decoded

TODO: attribute values aren't handled yet
[tests] added test case for numeric entities
Update link to demo
Add startIndex and endIndex positional attributes to the parser
Merge pull request #63 from fasterize/parser_positions

Add startIndex and endIndex positional attributes to the parser
[tokenizer] renamed the self-closing tags state, moved it to its own function
[tokenizer] commented out support for entities in attributes

requires adding a new event to make this work, so delayed for now
[readme] updated benchmark results

switched the results to @AndreasMadsen's htmlparser-benchmark
[bench] removed internal benchmarks

in favor of htmlparser-benchmark
[parser] fixed whitespace
[parser] moved common logic to _updatePosition function
[tokenizer] renamed IN_ATTRIBUTE_NAME_* states, improved formatting
[tokenizer] re-added the carriage return as whitespace

fixes #62

apparently Google's gumbo-parser does behave this way:
https://github.com/google/gumbo-parser/blob/101726c50e172e45be6002c51b85
e45f27f0c2c6/src/tokenizer.c#L322
[tokenizer] fixed handling of unparsed data in end(), added support for several states
[entities] added maps for normal & legacy entities
[tokenizer] added support for decoding HTML entities in `ontext` events

There is still a number of TODOs:
• support decoding entities in attributes
• when in XML mode, only decode XML entities (skip legacy entities)
• move the decodeMap to a JSON file
[tests] added test cases for decoding legacy & named entities

both containing one of the longest available entities, to ensure they
are propperly decoded (especially relevant for legacy entities)