Merge pull request #243 from nostrademons/pypi_fixes

Pypi fixes
Add proper cflags for building via gyp
Merge pull request #245 from CodeFridge/cflags_gyp

Add proper cflags for building via gyp
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
Merge remote-tracking branch 'upstream/master', syncing in char_ref fixes.
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 branch 'utf8_performance' of https://github.com/google/gumbo-parser into utf8_performance