Feature standalone rules

This pull requests extracts the Replacer logic from the listener and the database driven rule models. 

With this changes it will be possible to load different rules into the replacer which can do anything to the dom document.

So there is no need to create another dom representation of the current document if other changes should be applied dynamically as well.

To summarize the changes:
 * Introduce a `RuleInterface` and extract the css class replacer logic to `ClassAttributeRule`
 * Introduce a `DomManipulator` which can be used without the `Listener`
 * Provide a `loadCssClassReplacerRules` hook so that other rules can be loaded.

Ich bin nicht so Fan von der Bezeichnung `createRule()` auf dem `RuleModel`. Eigentlich ist ja das nur die Standard-Rule für die CSS-Replacements? So wie jetzt liest es sich als wäre das was Generelles, ist es aber nicht. Hingegen kann es durchaus sein, dass auch noch andere eine Art Cache-Layer verwenden möchten. Könnten wir da was schlaueres, generisches bauen? Was meinst du?