Add Travis CI to give quicker feedback on pull requests.
rename add_parse_error functions to avoid name conflict so that it can be built with amalgamation into one file
show errors
Merge https://github.com/google/gumbo-parser
Fix vsnprintf error in MSVC++
Don't leave semicolons behind after consuming character entities

Character entities such as `&Ouml;` and `&Agrave;` were being
consumed incorrectly, leaving the semicolons behind. This commit
fixes those entities and several others with the same problem.
Merge pull request #249 from rgrove/bug-char-ref-semicolon

Don't leave semicolons behind after consuming character entities
Add test for IsIndex duplicate attributes.
Add a benchmarking program on some representative HTML files.
Bump up to 10 repetitions for benchmark.
Fix signed/unsigned warnings in clean_text.cc and find_links.cc examples.
Merge remote-tracking branch 'upstream/master', syncing in char_ref fixes.
Merge remote-tracking branch 'origin/master' into duplicate_attributes
Add Bjoern Hoehrmann's DFA-based utf8 decoder to source code.
Pre-multiply DFA table entries by 16 to save a shift.
Replace the UTF-8 decoder with a DFA-based one found on the web.  Benchmark
results:

Before:
hacker_news.html: 10877 microseconds.
html5_spec.html: 1834991 microseconds.
xinhua.html: 50147 microseconds.
yahoo.html: 57772 microseconds.
google.html: 53137 microseconds.
bbc.html: 17078 microseconds.
arabic_newspapers.html: 15892 microseconds.
wikipedia.html: 119395 microseconds.

After:
hacker_news.html: 6638 microseconds.
html5_spec.html: 1080979 microseconds.
xinhua.html: 29511 microseconds.
yahoo.html: 33294 microseconds.
google.html: 30626 microseconds.
bbc.html: 9860 microseconds.
arabic_newspapers.html: 8340 microseconds.
wikipedia.html: 68557 microseconds.

These are total parse times, not just in the UTF8-decoder, so after this commit
you should expect speedups of roughly 50%-2x in overall parsing on common input.
Slight misunderstanding; don't swallow invalid replacement characters that are
the beginning of a run, create a separate replacement character for them.  This
matches the description on

http://encoding.spec.whatwg.org/#utf-8-decoder

This is slightly different from the old behavior in that there is no
special-casing for 5-7 byte codepoints.  This seems to have dropped off the
spec; now they should be handled like any other invalid first byte.
Remove commented-out code.
Fix a comment that was out of date.
Merge pull request #235 from jdeng/master

rename add_parse_error() to avoid name conflicts and support amalgamation file like sqlite