Support document access strategy failover

Detect when scanning with the selected document access strategy fails,
and try to fall back to other strategies.

(This will allow using the Dummy strategy when d-t-m fails for some reason.)

Also, fix TextPosition strategy to avoid crashing without d-t-m.
> Then I would at least move it into load annotations.

Contrary to sane naming conventions, at some point in the past, `_scan()` has actually morphed into a public entry point, which is called from more than one place. (It's also called [here](https://github.com/hypothesis/h/blob/d3a3425df5765d008448a4b744976a8db5401076/h/static/scripts/guest.coffee#L80), for example.)

So if we wanted to move `_chooseAccessPolicy()` out of `scan()`, we would have to call it from all other places, too, where scan is called. That would be needless repetition.

   * * *

Anyway, Annotator should not know about the entire scanning business at all; it should be an internal concern of the chosen document access policy. Annotator does not care. I don't want to spend too much time with this here and now because this whole stuff has already been *completely* refactored already. It's completely different on our newer branches.

(In the new version, 
 * The public entry point is `prepare()`: https://github.com/hypothesis/dom-anchor-core/blob/master/src/anchors.coffee#L64
   * This calls `init()`: https://github.com/hypothesis/dom-anchor-core/blob/master/src/anchors.coffee#L54, which selects the access policy,
   * and then calls `prepare()` on the strategy, to do whatever the given strategy needs to do in order to become ready to answer queries.
   * d-t-m does whatever is left of the scan phase in this prepare call.

I suggest that we review and discuss all this when we *finally* get to discussing the new anchoring framework.
As I said repeatedly, this is all legacy code. There is no point in refactoring this branch. We should *really* restrain ourselves to fixing bugs, and adding unavoidable features here; anything else should be done after we have moved to the new branches.