Fix height typo on target.pos property
Fix line height on heatmap pointers
Remove the tooltip on the timestamp

Now just uses the default browser title functionality.
Always right align timestamps in cards

Move dropdown to the left of the timestamp to ensure timestamps are
always in line. Vertically align the baseline of the timestamp with the
username.
Remove dashed border on collapsed threads

It left a single pixel, which looked like a rendering glitch.
Clean up blockquote styles

* Remove cartoon quotes.
* Use a class rather than styling all blockquotes.
Correct expand/collapse icons on thread

Now collapsed items have a plus sign and expanded ones a minus. This
brings it inline with other tree view implementations such as those
found in Windows and Reddit where the icon represents the action
rather than the current state.
Drop tagit in favor of ngTagsInput
Move common form styles into mixins
Remove old tag-it css
Style the tags-input directive
Add new styles for read only tags
Remove the jQuery UI images and stylesheets
Remove the tag-it plugin and update the Karma config
Update d-t-m to a0c4858g (master branch)

More robust error checking.
Update Annotator to 0d3b9203 (typed-packaging branch)

 - PDF: Support latest PDF.js (v1.0.277)
 - TextRange: Handle an error condition
Update Annotator's PDF plugin to d1797fd1 (pdf-update branch)
Attempting to update to PDF.js upstream v1.0.473
Use different insertation method. WIP

Old method:
 - First PDF.js does it's magic, and redirects the page from the
   original document to it's own HTML content (the viewer)
 - Then embed.js injects the Hypothes.is code to the HTML page.

New method:
 - We embed our code directly in the viewer

Details:
 - I created a fork of viewer.html, the only change being
   that it also includes a reference to our embed script.
   PDF documents are rendered using this viewer
 - I have created a different embed.js version, called embed-pdf.js,
   tailored for this specific use-case. The main difference is that
   it actually uses eval() to run the code, instead of inserting a script
   tag. This was necessary because Chrome really, really hates inline
   JS code in extensions, and it's probably impossible to configure
   a CSP which would allow this.

Limitations:
 - Loading PDF.js automatically loads Hypothes.is, too, which
   means no PDF.js without H.
   (But we want to avoid PDF.js until required by H anyway,
   so that's not a real limitation.)
   See https://github.com/hypothesis/h/issues/1120
 - There seem to be with some high-level code incompatibilities
   with the PDF.js code.
   See https://github.com/hypothesis/annotator/issues/69
Tune PDF extension deployment

 - Don't load the Document plugin
 - Change timing (to wait for PDF initialization)
 - Add support for proper URL and metadata extraction