feat Implemented navigation for the MultiAutoComplete.

In this commit come:

- implementation
- tests
- some refactoring

According to the specifications, it is now possible to use the left and right arrow keys to navigate throughout the whole widget, including currently inserted options. It is also possible to use the tab key to jump form the inserted options list to the text input field, and then from this field to the next focusable element in the page (outside the widget).
Fixed the behavior on highlighting an option with the click.

Before, anytime a click occured, the text input field was given the focus back, which is a wrong behavior in case of highlighting (navigation wouldn't be possible then, and anyway there is some link between the highlithing state and the focus).

Fixed the test accordingly: anytime an event was simulated, a click event was sent to the text input field, forcing its focus and thus falling into the same issue as described above (and anyway that didn't make sense to do so.)

Besides that a few typo corrections and simplified some code.
Changed the test of the highlighting API.

This now handles only the case of being able to highlight one option at a time (which should be the normal case).

Also added bounds check for the highlighting method.
Fixing semi-colon issue.