feat(typeahead): support typeahead-on-select callback

Closes #433
refactor(typeahead): avoid string manipulation for DOM elements
fix(typeahead): return focus to the input after selecting a suggestion

Currently focus is lost if you mouse click on the suggestions model instead of using the keyboard. This keeps the focus.