Allow the trigger element to be focusable

This transfers the `tabindex` attribute from the select element to the trigger element, and refactors the key handler to work when the trigger is focused.

Basically this means you can use the tab key to focus the fancy select, and open/close it with the keyboard.