Add support for dynamic updating of typeahead list

I've added props that allow changing the typeahead list at runtime.
actually I already forked and did my own implementation. I just thought of something though, if we already have something in the input field and new properties arrive, we don't want to change the content of the input unless the default value changed. To counter this I did
```js
    var entryValue = nextProps.defaultValue === this.props.defaultValue ?
        this.state.entryValue : nextProps.defaultValue;
    this.setState({
      options: nextProps.options,
      entryValue: entryValue,
      visible: this.getOptionsForValue(entryValue, nextProps.options)
    })
```