do not create a copy of rules on every new event.

now use synchronized instead.
outsource XPath filter module to reduce minimal required deps
some dep cleanup; introduce interface for custom output of PatternFilter
Merge remote-tracking branch 'origin/master'