Escape list prefix, suffix and bullet chars in the CSS rules

Various browser cope differently with unescaped characters in a CSS
content block, though all browsers agree it is a bad thing. WebKit
will throw an error, Chrome & FF will "guess" where the rule ends
(and usually get it wrong).

This patch does 2 things to fix this:
- Consistently use double-quotes to quote strings
- Escape backspace and double-quote chars in the CSS-related content

The vast amount of testing code is primarily creating a string tokenizer
able to parse out the displayed text across Chrome/WebKit + FF. As there
is no simple way to get the "rendered text" from a pseudo-element, a lot
of code is required to compute this. There are tests included for the
hand-rolled tokenizer as well to ensure proper function.

No tests have been added for OdfCanvas, as the existing list logic in
here is destined (sooner rather than later) to be merged into the newer
list CSS translation class.
Add workarounds for qtruntimetest's version of WebKit

Content needs to be on a new line if it contains slashes due to a bug in
older versions of webkit. E.g., the one used in the qt runtime tests.
See https://bugs.webkit.org/show_bug.cgi?id=35010

In addition, asking for the value of a content block that contains a
counter returns a strange counter string such as "counter(-879878e564)".
I can't find a bug report for this, but it only occurs inside the qt
runtime tests.