button: move link-specific code to button_type_link