Move regex searches to a web worker to stop the browser from hanging

This fixes #957 (currently closed anyway) by asynchronously performing regex searches of the page in a separate thread. It holds two main advantages over performing the regex synchronously:

* The UI doesn't hang while waiting for each search to complete, which is better UX.
* The workers can be terminated before they complete. When the search terms are updated, the previous search with the old terms is terminated and a new one is started, instead of wasting time waiting for the old one to complete first.

This has been tested on the [example](http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=/trunk/src&range=217147:224845&mode=html) from #957, and feels like a great improvement over before.
RegexpMatchWorker or RegexpSearchWorker would be better names for this since they would help indicate what this worker is actually used for. In the comment, rather than just explaining the what, also explain the why -- why are we doing searches in a much more complicated way than the obvious synchronous approach.