Refactored creation of style tree

Moved the creation of the style tree out of Styles2CSS. This is the first
step in refactoring out and fixing some duplicate list handling code in
OdfCanvas.js.
Use Object.keys for iteration
Refactored application of list styles

Moved the code that parses ODF lists styles and creates rules for them
into a separate object. This is done as the second step in removing
duplicate/redundant code from OdfCanvas.js around some list style
handling.
Removed duplicated stylesheet error handling
Implement label-width-and-position mode for list layout

Remove the partial handling of list indentation and implement the default
option for list-level-position-and-space-mode.

Also added px as a conversion unit in CSSUnits.

http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#property-text_list-level-position-and-space-mode
Implement label-alignment mode for list layout

Add handling for the label-alignment list style element. This commit does
not implement the text:label-followed-by attribute when the value is
"listtab" so for now a hard coded padding has been substituted

http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1416522_253892949
Added some layout tests for list styles

Added one test for label-alignment styling and another test for
label-width-and-position mode
Merge pull request #437 from satsuper/list-styles

Refactoring and bug fixes in list styles