Allow listeners for multiple event names, and added off method to remove listener.
Use PhantomJS for tests
Allow specifying targetOrigin for outgoing and incomming messages