Improve XPath performance

Background

As we are discovering daily how powerful could be XPath filters, we might as well get the best possible performance, meaning we can pre-parse the query instead of re-evaluate it each time.

What to change

Use XPathEvaluator#createExpression outside the observer, to parse and validate XPath once, instead of per each observed mutation.