Create a generic tooltip type within the module to make the overall thing easier to grok.

* Prevent tooltips from being closed prematurely if it replaces an old tooltip.
* Add a "done" callback to the dom-jquery animation functions.
* Use the done in the tooltips to work towards the goal of remove direct jQuery calls.