Detach dropdown on hide and appendTo body on show.

This makes it less likely for a "nuked" picker (whose element has been overwritten with new html, as with Backbone.js) to leave its dropdown behind in the page DOM, eating up memory.

While detach/appendTo are much less performant than hide/show, it doesn't seem to be that big of a deal for one-off user-tiggered events.
Fix test for remove function, now that pickers are detached
Bind to events only when the picker is shown.

Greatly increases performance on slow machines with IE8 when multiple
datepickers have been instantiated.
Fixes a memory leak.