Switch in drivers to event emitter 

ok,
this is a big pull request.
but I'm trying to get mosto in shape for 17a, and there is still loads of work.
this makes the whole code base cleaner, and passes tests.

with this code in we can elegantly implement mosto.js as an event listener.