Finalize FeatureSearcher UI

CancellableProgressDialog now it's own class, much better looking, includes status text (TODO @jrobinso double check on thread-safety) so user knows which region is getting searched.
TODO Delay in having dialog pop up, right now it comes up and then goes away quickly if feature immediately found, we should have delay.
Move RandomFeatureSource to it's own class.

Not used now, may be useful later
Update CancellableProgressDialog status text on event thread