Create new OOUI widget called `TemplateSearchWidget` for searching templates, with the same functionality as the merger of the existing template search fields in VisualEditor and TemplateWizard (i.e. CirrusSearch if available, prefix search if not).
The outcome of this will be a wrapper widget for a ComboBoxInputWidget that mixes in LookupElement. Note that although we could subclass the former, we don't want to because we'll be adding more functionality to the TemplateSearchWidget (such as a tab bar under the search input) that'll mean it's probably easier to have a general Widget.
This task does not include actually using this new widget anywhere. We will want to add it somewhere for testing though (so please update this description when that's figured out).
##Existing search logic
TemplateWizard searches with a `prefixsearch` generator:
```
action=templatedata
includeMissingTitles=1
generator=prefixsearch
gpssearch=mytpl
gpsnamespace=10
gpslimit=10
redirects=1
```
Whereas VE uses a `search` generator (in addition to prefixsearch; clarity needed about why it makes the prefixsearch request):
```
action=query
prop=info|pageprops
generator=search
ppprop=disambiguation
redirects=true
gsrsearch=mytpl*
gsrnamespace=10
gsrlimit=10
gsrprop=redirecttitle
```
```
action=query
format=json
formatversion=2
generator=prefixsearch
gpssearch=mytpl
gpsnamespace=10
gpslimit=10
```
Then with the results of that, it fetches the templatedata:
```
action=templatedata
titles=Template:Template1|Template:Template2|(lots more here…)
includeMissingTitles=1
```
Neither search input debounces, but rather send API requests on every keystroke. TemplateWizard aborts on subsequent ones; VisualEditor doesn't.