Now extensions can be enabled or disabled one by one.
This makes the parsers a bit simpler, especially when it comes to line endings. Tabs and CRs are converted in the tokenization phase. Performance is slightly better, perhaps because we are not parsing words letter-by-letter. We have also made it easier to ensure that escapes are handled properly throughout.