Cleanup event listeners on destroy

When a Model is destroyed, it may still be listening to events.
We should `stopListening` to those events to prevent memory leaks.