Moving LanguageDataProvider towards using EbnfGrammar instead of the LanguageDefinition.
Initial can object on the EBNF layer
Conversion of ScanRules and MergeRules to the EBNF.
More LanguageDataProvider logic based on the EbnfGrammar