feature(js): extended the usability of rel="toggle"

It is now possible to toggle multiple elements with an completely custom
selector and you can control the toggle effect (slide or direct
hide/show).

This helps for #7508, reduces the need for #5139 and fixes #3070.