Import Google Caja (via @mramato)

This is "a slightly tweaked version of the JsHtmlSantizer
object from https://github.com/mapbox/sanitize-caja"
Show a box-shaped selection indicator.
Merge remote-tracking branch 'origin/description' into box-select
Add a camera-tracking icon.

The icon has 3 modes:
1. Enabled, for untracked objects with known positions.
2. Disabled but with the same icon as enabled, for objects being tracked.
3. Disabled and crossed out, for objects without positions.

Note that the selection graphic is able to show un-trackable
"scratch" positions, such as access lines, but the camera icon
will appear disabled for these kinds of objects.
CSS tweak for long titles.
Merge remote-tracking branch 'origin/master' into box-select
Use the ID (instead of blank) when the name is missing.
Make selection box thinner.
Add separate CSS styles when no description is present.
Initial breakup of selection and info box.

Unit tests are broken, and the mixin isn't tolerant of the
widgets being turned off yet.
Merge remote-tracking branch 'origin/master' into box-select
Rename events.
Size & position code cleanup.
Code cleanup.
Make the mixin tolerant of the new widgets being turned off.
Fix some bad Sandcastle CSS that messes up the infoBox camera button.
Update InfoBox tests.
Add tests, improve code coverage for new widget view models.
Update CHANGES.md
Sanitize HTML by loading the official Google Caja sanitizer script in a Web Worker.

Users can sanitize in an offline environment by downloading the sanitizer script and overriding the default sanitizer property to use the local function.