Live search improvements

This implements the keyboard handling suggested in #303 (up/down arrows work when the live search box is selected). It also allows the user to start typing when the button is focused (but the menu is not shown yet), and the menu will open and start filtering.

It also addresses #349 in a cleaner way, by only binding key handlers to .selectpicker elements.