add a typeahead for the <MultiSelect/> component

This is a big usability improvement.
The <MultiSelect/> component lets the user select zero or more items
from a list (e.g. people to invite to an event; rooms reserved for an
event).
The first implementation allowed selecting the items, one by one, using
a <select>. Replace that with a typeahead.