Use a ParserDefinition struct for the parsers.

Any settings configurable can go in this struct. This allows the SettingsDialog to manipulate it easier since it can have a temporary copy of one for each language while the dialog box is open. If it needs an preview, use its own local copy. Also, the Parse_X functions really dont need access to any other fields in the Parser.