Clean up OdtDocument cursor position tests

Make OdtDocument cursor position tests more granular in how they are reported. This makes it easier to troubleshoot individual failing tests as the individual test is more specific.

* Extend core test runner to cope with test names containing angle brackets
* Verify the number of steps vs. expected number of cursor positions
* Remove doc length check for non-changing variables
* Report one test per cursor position document fragment
For most browser display purposes, escaping the open-tag is sufficient to ensure the code isn't parsed as HTML. Escaping the ampersand isn't necessary with the test names I'm using so far, but it would make sense for future-proofing.

However, as discussed on the ML, I want to throw away all this code and replace it with jasmine anyway. As a result, I don't feel it's a good investment to do any real future-proofing on this part of the code.