Fix destroy method by storing references to bound listeners

Fixes #236

The issue here was that added event listeners didn't match the ones `destroy()` attempts to remove, because no reference is stored to the methods after `bind()` is called on them.

(The Underscore-like solution felt like a clean way of handling this, as many are already familiar with the "bindAll" vocabulary.)