Brain dump:
- The constructor called like OO.ui.LookupInputWidget.call( this, this, config ) is stupid – fixed with https://gerrit.wikimedia.org/r/184828
- The name is wrong – should be InputLookupWidget maybe, or just LookupWidget? It is not a subclass of InputWidget.
- The methods #getLookupCacheItemFromData and #getLookupMenuItemsFromData actually accept different data as input – in fact, one takes the output of the other (see example: T85467#975078)
- The #onLookupMenuItemChoose method has to be reimplemented in every child, while in 90% of cases it should just set the value of textbox to the chosen suggestion (pointed out by @Ricordisamoa)