Fix performance regression when setting up large numbers of tooltips
Fix performance regression when setting up large numbers of tooltips

In commit 661f602, released with PowerTip version 1.3.0, I used a
jQuery collection to track all of the elements that PowerTip has
been bound to. This introduced a performance regression when
invoking `$.powerTip()` many times on a large number of elements.

The jQuery `$.add()` method does a dedupe, sort, and then a merge
of the lists. The `$.not()` method also has slow behavior, and is
called via the PowerTip `.destroy()` method when setting up a
tooltip. So when we add an element to the collection it will take
an ever increasing time for each subsequent `.powerTip()`.

This patch changes the `session.elements` tracking to be an array
of jQuery objects. This will skip the dedupe, sort, and merge on
every call, and instead will now be a nice single-operation
`Array.push()`. The `destroy()` method has also been refactored to
handle the new array of jQuery objects and to avoid the `$.not()`
call unless needed.

Related to commit: 661f6024ce59e3b1ff9e9341927050eba91c0070

For issue: #178

stevenbenner/jquery-powertip,stevenbenner/jquery-powertip