use classes to select child options, not '> *'
wrap optgroups in div
simplify optgroupwrapper into one template call
use [data-selectable] to indicate dropdown elements can be selected
style [data-selectable] correctly