Initialize elementMatchers in the constructor

Initializing them in the match function results in the List being
initialized anew on each analyzed sentence. By populating the list during
the PatternRuleMatcher construction, this inefficiency can be avoided.