Revert "Remove C variable parsing (revert this later)"

This reverts commit 184e9ab2629bf51b72def993d1b262dd28bd37c9.
WIP C lexer
Use pure C instead of Ragel for the lexer
Remove Ragel definition
Change compare task to use benchmark instead of profile
Remove usage of lexer_token_list_t
Move symbol_names to a single translation unit
Strict C variable parsing
Move C methods to their respective classes
Clean up c_strict_parse interface
Separate parser-like functions from the lexer
Use standard library character matching functions
Rename confusing macro, use Ruby array 'literals' where possible
Use memcmp over a custom matcher, shorten up rb_utf8_str_new_range
Add TOKEN_END, use int for boolean types, method definition braces on newlines, style
Jump table for comparison operators, clean up some constants
Fix lexing of unmatched '-' characters
Use Ruby's locale-insensitive character matching functions
Only allow ? at the end of identifiers, don't allow !
Separate ? and - into special tokens, don't allow variables to end in -