fix(typeahead): support two-way data binding fully

This PR implements the full support for two-way data binding in typeahead and fixes the problem of model being shown in the input instead of label when typeahead is used.

Closes #981