Don't crash if the requested range is outside the any document root

Fixes a crash when running the benchmark.
Merge pull request #497 from peitschie/benchmark-fix

Don't crash if the requested range is outside the any document root
Support multi level list numbering

Implemented a changed list counter setup where each list level has its own
counter. This is to support behaviour defined where you can display only a
subset of the list numbers.

This is defined here:
http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1418890_253892949
Continue numbering of previous list

This implements the text:continue-numbering attribute which specifies
whether the previous list numbering should be continued if it has the same
style as the current list.

http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1418834_253892949
Continue numbering of list by identifier

This implements the text:continue-list attribute which specifies the list
whose numbering should be continued with a unique identifier.

http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1418832_253892949
Moved generation of list level CSS selector

The code for generating the appropriate CSS selector based on the level
the list style applied was being duplicated so I have pulled it out into a
separate function.
Remove dead code from OdfCanvas and OdfUtils

The removed code was intended to implement continue list functionality.
However this code no longer worked due to a regression introduced in commit 3ae9e0c.

As I have refactored this area and implemented the continue list
functionality in the new list styles class this old code is no longer
required.

The removed code in OdfCanvas also made use of the
getFirstNonWhitespaceChild function in OdfUtils and the removed code was
the last remaining usage of it. As it is preferable to make use of DOM API
calls which give us the desired behaviour such as
element.firstElementChild I have removed this function.
Added tests for continue lists and multi level lists

Added some tests that look at the computed style to verify the correct
rules have been applied by ListStylesToCss for these list types.

The behaviour of getComputedStyles differs between browsers so some hacks
have been used in the tests