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.
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.
Fix consumption of characters inside attributes.  The check against utf8iterator_current was invalid because the state machine doesn't consume characters unless it finds a match.
Delete two comments that are no longer accurate.
Fix infinite loop when a character is not detected.
Add fbreak to every Ragel action.  Ragel's scanner continues trying to parse tokens even after making a match; the accepting state is always the start state.  As a result, it would continue consuming input until it either reached eof or read a combination of characters that could not possibly be a character ref, and then would break out with the error state.  When we switched from looking for the presence of output to looking for an accepting state, this triggered the bug on some testcases which had prefixes of other char refs following the char ref.
Merge pull request #258 from nostrademons/ragel_char_ref

Ragel-based char ref handling