Inline those tooltips!

fixes #3154
Cleanup with @6a68's suggestions!

* Update the dom-jquery animation functions to smooth over jQuery bugs.
* If the animation functions have an animationTime of 0, immediately show/hide
* Add a "done" function to dom-jquery->show & hide
* Add a dom-jquery->exists function to check if an element exists in the DOM.
* Use animation updates to simplify the calls in Tooltip
* Clean up the tooltip code to get rid of animation hacks.
* Clean up the tooltip teardown code and cleaning up references.
* Clean up unit tests to make use of higher level abstractions in testHelpers.