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.
That's pretty special. `list[index..index] = []` just compiles to:

```javascript
var _ref;

[].splice.apply(list, [index, index - index + 1].concat(_ref = [])), _ref;
```

or, in other words:

```javascript
list.splice(index, 1);
```

Let's just use JavaScript.