Speed up JSLint checks by only checking files that have changed.
This speedup makes it feasible to run updateJS.js on every build invocation. This ensures that new javascript files are always picked up.
Don't re-order non-ODF children when merging paragraphs

Child order of non-ODF nodes should be preserved when merging
paragraphs.
Merge pull request #361 from peitschie/remove-text-fix

Don't re-order non-ODF children when merging paragraphs
Add comments that explain the caching method.
Merge pull request #357 from vandenoever/fasterJSLint

Speed up JSLint checks by only checking files that have changed.
More verbose output for circular dependencies and small type fixes.
Merge pull request #358 from vandenoever/lessCircular

More verbose output for circular dependencies and small type fixes.
Ensure the event trap has a minimum height

0px height elements are not able to receive an active selection in most
browsers. Setting a minimum height ensures the event trap is still able
to be selected when in an empty paragraph.
Merge pull request #352 from peitschie/event-trap-size

Ensure the event trap has a minimum height
Add paragraph alignment to the benchmark

This is disabled by default because it is very very slow (8s @ 10pages)
Batch up calls that refresh the canvas CSS, size or annotations

These calls are UI render-related operations, and don't need to be done
immediately after every operation. Batching these up and doing them all
once after all ops are processed greatly improves the performance of
paragraph alignment updates with multiple paragraphs selected.
Re-use new styles when applying direct paragraph styling

We only create a new paragraph style once per unique paragraph style
name. This vastly reduces the number of new styles created when
formatting a number of paragraphs that all share the same existing
paragraph style.
Save and restore focus once per batch of operations

Focus saving and restoring is expensive on most browsers, so major gains
in performance are realised by not doing this for every operation. A new
pair of signals implemented by operation routers denotes when a batch of
operations is about to processed, and when the router has completed this
batch.

Note, there is no implied promises about how many operations are executed
within a batch. This is left as a choice to the router implementations.