Support clearing on links

Because links register themselves into the app's click listeners, it's
important that we clean them up when a link element is removed.

This fixes #631 and #645, and gets rid of one of our few remaining
pending specs.
Merge pull request #667 from shoes/clear_links

Support clearing on links