made sure modules don't soil each other

My careless use of _.extend made `listenerMixin` add stuff to
`listenerMethods`. Fixed that bug, and added tests to make sure it
doesn’t happen again.