Support entity links
The first commit moves hook_link_alter() and the markup of a link with an icon from ui_icons_menu to an IconLinkMarkup service in ui_icons_field, so any link whose URL carries the icon and icon_display options gets its icon without the menu submodule. Menu links built through preprocess_menu keep the ui-icons-menu-text class. Links rendered by the hook, the menu overview included, now get ui-icons-link-text. An Icon only link now keeps its text in a visually-hidden span instead of dropping it.
The second commit adds ui_icons_entity_links. Its settings page at /admin/config/user-interface/entity-link-icons sets an icon and a display for each core node and comment link, and hook_node_links_alter() and hook_comment_links_alter() set them as URL options. Links of other modules can be set in ui_icons_entity_links.settings, and the form keeps them. The settings form only uses the autocomplete. Entity operations are not covered.
Closes #3591916