Internalize emitter implementation

This has a few benefits
- no longer need to shiv the difference between Component's emitter
  & Browserify's emitter (node version)
- no longer need to hack around Browserify's static require parsing
- able to drop methods not used in Vue
- able to add custom callback context control, as mentioned in #130