A lightweight and flexible AngularJS autocomplete / typeahead directive