Create GitLab UI component for filterable, single-select, listbox dropdowns

Filterable, single-select, dropdownlistbox are some of the more common dropdown components in GitLab and we need to think through how we intend to build a GitLab UI component to encompass these common use cases and variants.

This issue will serve as a discussion thread for:

  • defining the component API
    • how do we allow for custom option styling (e.g. user avatars, multi-line options, etc)
  • outlining the scope of the component
  • ensuring accessibility concerns of the prior dropdown implementations are addressed
  • thinking through edge cases (e.g. what happens if 100,000 async options are provided)

We will want to wrap this component in super-components for common use cases (like a ref-selector dropdown).

/cc @leipert @markglenfletcher @ohoral