Expand destroy to fully clean up after itself, complete tests for destroy

Fixes coverflowjs/coverflow#12

Expands checking of original element state and returning element to original state
Add test to confirm elements are returned to their original states after "destroy"