Fix bug where ODP page numbers would be hidden.

In a9c4f35245d058982a4366d826c42afb41d12ba6,
the regex for checking whether the attribute
presentation:class matches an approved set
of values had an extra ' at the end, which
meant that frames with class 'page-number'
were being dropped.
This is now fixed.
Merge pull request #254 from adityab/pagenumber-fix

Fix bug where ODP page numbers would be hidden.
Coding style fix: indentation was off by -1
Make cursor sub-element CSS styles component-specific

Previous implementation was using the element type (span or div) to
determine if the element was a handle or caret. This is problematic if
additional elements are placed inside the cursor node (as necessary for
proper IME support)
Allow multiple subscribers to the cursor update event
WIP Partially working. Still needs more corners rounded

TODO
- Figure out if this works on touch screens?
- Add license information to new classes
- Test in an NV build
- Revert Caret changes
- Fix caret blinking around images (blinks really high)
- IME overlay in safari is really broken
Don't reset focus if the event trap already was in focus
Test harness to help troubleshoot some IME/editor issues
Firefox bug workaround

https://bugzilla.mozilla.org/show_bug.cgi?id=773137
https://bugzilla.mozilla.org/show_bug.cgi?id=787305
Regain event trap focus in the IME rather than SessionController
Add required argument to create text node call
More diagnostics output