Optimize presets.match

Previous implementation was linear in the number of
presets. This should be near constant time.
Don't need member tags for area strokes

Member tags are for multipolygon members, and multipolygon
member strokes are rendered by iD.svg.Lines.
Set pattern only on enter
Render areas in one pass
Cache isIntersection
Cache area
Revert "prevent accidental drags"

Not sure this helps a whole lot, and it requires a mousemove listener.

This reverts commit b7760e87473d54fed9ff8e34a3963a944f75b945.