Various list numbering improvements

This PR adds support for displaying multi level list numbering. The approach used was to use a different counter for each level instead of using nested CSS counters. This was because you can limit the levels of numbering displayed to a subset of the current level e.g. displaying two levels

1\. Level 1
&nbsp;&nbsp;&nbsp;&nbsp;1\.1\. Level 2
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1\.1\. Level 3
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1\.1\. Level 4

The nested counter approach was not compatible with the above option of list numbering.

Also added was continuing the numbering of previous lists in the document. This approach was intially modeled off existing code in OdfCanvas that partially implemented this feature but due to a regression this code was not being reached anymore.

The new approach assigns unique counters to all text:list elements regardless of whether they need to be continued or not. This allows us to circumvent CSS scoping rules that prevent using the same counter across different lists which was how the old approach worked. If a list continues another list in the document it can simply be assigned the unique counters from the list it continues from. This is a cleaner approach overall as it reduces the amount of overridden CSS rules.

Lists can either continue the list directly preceding them in document or they can continue a list anywhere in the document by referencing its xml:id. Both these cases are handled in this PR.

To better illustrate the three main improvements made in this PR I have included a comparison screenshot of WebODF rendering the updated visual-tests.fodt.

![comparison](https://cloud.githubusercontent.com/assets/4240149/3103678/c05f48a8-e65a-11e3-9bd6-426adf9d89a1.png)
I have updated the comment and the variable name to try to explain this better. When lists are continued the basic process is to reuse a counter from the continued list. However the identifier used for the CSS selector still needs to be unique to apply the correct rule. Hence it returns two values when the lists are continued and when there is no continuation both identifiers will have the same value