Some speedup at the cost of breaking abstractions.
Changed the order of the fields in reader.
Externalize the RebindContext function.
Added a new parser based on the lexer/preprocessor.