feat(typeahead): Add typeahead controller (WIP)

Move more methods into the controller.

Add selectListeners and queryParsers.
feat(typeahead): Add typeahead controller (WIP)

Split out logic for minlength and waitMs into queryParsers.