Detect pdfjs version

Add utilities for PDF.js version-based decisions,
and add a marker class for ironing out a specific
version incompatibility problem using CSS. 
(See code comments.)

This has already been discussed here:
https://github.com/hypothesis/h/pull/1792#issuecomment-66702371

Various opportunities for simplification were proposed, but in the end,
the conclusion was that they won't stand up to scrutiny...
... except using `parseFloat()` instead of `parseInt()`,
which I have now done.

Any further comments?
> While it seems to work the way you have it, the correct syntax is two dots: `0..v1.length`.

I don't think so. For example, let's take an array of 3 elements. Indexes start with 0; the last index is 2.
In that case, `0...v1.length` (what we have now) resolves to `[ 0, 1, 2 ]` - those are the valid indexes.
On the other hand, `0..v1.length` (with two dots, as proposed) resolves to `[ 0, 1, 2, 3 ]`, which is not what we want, since `v1[3]` is undefined.