Refactor / rewrite

1. Rewrite into vanilla javascript - makes it easier for others to
contribute
2. Lean against the Node.js EventEmitter api
3. Implement client-side EventEmitter
4. Split client and server code
5. Remove dependencies on `underscore`, `coffee script` and
`event-emitter`
6. Rename into `EventEmitter` - Sorry, but feels better following the
node js api here