Bug 1042943 - Allow users to switch search engine

I don't really like that this is a singleton, since singletons are often a bad design choice (basically introducing a global variable on which a lot of different things depend).

Instead could we make a single instance that lives in MainActivity? To do this, I imagine we could expand the AcceptsSearchQuery interface to be more of a general search-related interface, and add a method to that to get at the default search engine. Then the other pieces of the UI, which almost all already depend on an AcceptsSearchQuery instance, could use that to get at the default engine.