use the new official name "ViewerJS" consistently everywhere
Merge pull request #584 from kossebau/nameConsistentlyViewerJS

use the new official name "ViewerJS" consistently everywhere
Slight tweak to paste logic to eliminate unnecessary operations

As pasting occurs within an existing paragraph, multi-line text only
requires one split paragraph op per newline AFTER the first line. This
allows the logic to be simplified, removing the need for the remove op
completely.
Merge pull request #588 from peitschie/paste-tweak

Slight tweak to paste logic to eliminate unnecessary operations
Update webodf/lib/manifest.json: gui.PlainTextPasteboard does not need ops.OpRemoveText any more.
Add operation test showing steps cache update issue

Steps are rather arcane as they were discovered using a fuzzer (Bella).
Add additional asserts to verify cache integrity

Add asserts to detect cache corruption of the nature experienced here.
These more stringent checks have caused an additional operation test to
fail.
Ensure each bookmark is only present ONCE in the step-to-DOM point cache

Allowing the same bookmark to appear multiple times in this particular cache
causes major headaches when the bookmark is updated, as EACH step-to-DOM (s2D)
entry pointing to the bookmark would also need to be updated.

As there is no real performance benefit from having the same bookmark
appear multiple times, life is made significantly simpler by only allowing
the bookmark to appear a maximum of once in the s2D cache.
Merge pull request #578 from peitschie/cache-fix

Ensure each bookmark is only present ONCE in the step-to-DOM point cache
Do not let the caret overlay grab pointer events.
Merge pull request #597 from adityab/caret-click

Do not let the caret overlay grab pointer events.
Calculate caret display from closest STEP rather than closest sibling

The caret display position is tied to the ClientRect of the associated
cursor's text content, which is usually found to the left of the cursor.

Using a step iterator ensures only steps within the same root as the cursor
are considered, preventing issues such as #260 & #559.