_QLButton and _QLLink should have "open" / "close" affordances

(User Story, Closed -> Fixed, Priority: Critical, Test Status: No automated tests yet , Reported By Justin du Coeur, )
Summary: I've recently realized that it's not at all obvious what these buttons and links do -- that, in the common case, you click them to open a display, and click again to close it. We need to show that somehow.
This probably means a dynamic icon, added in the client itself.
It must be possible to disable this icon, for cases where it doesn't make sense.
It should be automatically disabled or replaced if the other parameters defeat the "open" / "close" behavior.