RunnerSyntax: Add constructor taking list of syntaxes, clean up/improve API
This will make it easier for consumers, because then the object can be created with all the required information. Otherwise, it would need to be created and syntaxes added afterwards before being able to add it to the AbstractRunner's syntaxes.