The tag options are not implemented out of concern for diff size.
This splits the context menu classes out to a new "iconized" style which is common across a number of context menus, including the UserMenu.
Some of the badge/sublist styles had to change to better accommodate the menu icon lining up.
This also contains the framework required for https://github.com/vector-im/riot-web/issues/13961
Tabs now have IDs, and we use those IDs to open things. This doesn't do any conversion to typescript, and doesn't add the same feature to the room settings out of concern for the size of diff.