[WIP] Customizable Renderers

Trying to make renderers customizable

- [x] introduce EventEmitter
- [x] Renderer constructor function in `options.renderers`
- [ ] README
- [ ] refactor