Clean up active_tab implementation for SelectableComponent (#1941)

Now specifies the desired tab's name instead of 0-based index. Sadly,
this needs a bit more magic to work because the tab index can only be
determined after checking which tabs would currently be displayed.