Tab complete

This refactors keyDown handling and adds support for using tab to select the first option.

It also updates the bundles (in dist/ and test/), so apologies for the noisy diff. After this one lands we should bump the version to 1.0.0 and publish to npm :dancers: