Make page layout lookup code more robust when handling invalid docs

This prevents a null exception being thrown if the requested paragraph
has no details about the associated page style. As a second fallback,
if no style called "Standard" exists, this will fall back to the first
available master-page defined in the ODT.
Clarified ImageController function name
Remove duplicate code in OdfCanvas for finding the master page element
Cope with non-cm image dimensions

Style-related operations are slowly being moved towards px as the
default unit to improve consistency. Standardising getContentSize to
work in px rather than cm provides better re-use of CSSUnits as well.
Ignore test-generated ODTs
Provide better fallback mechanisms for Formatting.getContentSize

getContentSize will now always return a valid page size, falling back
to it's own hardcoded format if no valid one is found for the document
Merge pull request #463 from peitschie/master-page-nullfix

Make page layout lookup code more robust when handling invalid docs
Schedule UI updates using requestAnimationFrame rather than setTimeout

Using requestAnimationFrame ensures the callback is executed prior to
the next redraw, eliminating undesirable & highly visible flickers for
UI updates.

Fixes issue #491.
Reduce UI flicker on FF as well

FF doesn't execute requestAnimationFrame requests before it's next
repaint, causing flickering when performing some types of updates
(e.g., recomputing Style2CSS). To workaround this, sometimes we force
animation callbacks to redraw ourselves at certain points.

This fixes issue #491 on Firefox
Merge pull request #496 from peitschie/ui-flicker

Reduce UI flicker when performing CSS updates
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.