Delete obsolete fields in ctypes Options structure.
Add some debugging notes.
Rename DEBUGGING.txt => DEBUGGING.md
Expose utf8iterator_get_end_pointer.
Add ragel state machine and regen char_ref.c from it.  Currently it's just a copy of the original with some comments.
Add necessary Ragel variables.
Ragel version compiles now.
Added the full list of states.
Merge branch 'ragel_char_ref' into unified_crawl_branch
Regen char_ref.c with flat table-driven FSM instead of the code-based one.
Change docs for generation command.
Tests pass now.
Regen with -F0.
Merge branch 'ragel_char_ref' into unified_crawl_branch
Merge branch 'asan' into unified_crawl_branch
Change destruction order of nodes in gumbo_destroy_output.

The next/prev change created a few spurious use-after-frees.  Because it
attempted to remove the node from the next/prev linked list, it required an
in-order traversal of the parse tree, where nodes are destroyed in document
order.  Otherwise, it would attempt to set next & prev on nodes which might have
been destroyed already, but whose fix-up of next/prev pointers was still pending
on the stack.

Most of the time, this worked, because a traversal of the parse tree largely
follows the order in which nodes are added.  However, when nodes are moved or
removed by foster parenting or the adoption agency algorithm, it creates cases
where they may be destroyed before their next/prev pointers are fixed by
neighboring nodes.

This change eliminates the recursive destruction and replaces it with a simple
while() loop over the next pointers.  It may also be slightly faster, although
parse tree destruction is usually not the bottleneck in parsing.  (Precise
benchmarks will have to follow later, this branch doesn't include the
benchmarking program or testdata.)
Merge branch 'next_prev' into unified_crawl_branch.

This merges in the use-after-free fix that's been done on that branch.
Move tokenizer_state_init after output_init, because if the first character is invalid UTF-8, this may cause an error that's written into uninitialized output->errors.
Merge branch 'next_prev' into unified_crawl_branch

Hopefully fixes segfault that's caused when an invalid first UTF-8 character
tries to write into output->errors that hasn't been initialized.