Restore preventDefault, but use tabindex to focus the parent element.

Work-in-progress. Supersedes #1322. Should fix #1321 #1288 #1099.

Tasks:
- [ ] Applying the drag behavior, zoom behavior or brush should set the tabindex attribute and outline style on the nearest HTML ancestor element (the ownerSVGElement when used within SVG, and the current element when used within HTML).
- [ ] If the tabindex attribute is already set, it should be preserved? What about the outline style? It might be safe to ignore this possibility.
- [x] The mousedown event should be cancelled (using preventDefault and stopPropagation).
- [x] The touchstart event should *not* be cancelled for the drag behavior, as this disables draggable links. (Canceling mousedown does not prevent click, but canceling touchstart effectively does.)