luisfarzati/angulartics — pull request #162 by pcw216 (2014-07-03 20:48:26+00:00)
Title: Multi provider support with proper buffering

I realize this is a pretty substantial pull request but it does a number of things.
- Support for multiple plugins
- API
- Writes handlers and buffering generically so new methods like ```setSuperProperties``` can be added easily (I took it out, but you can easily allow plugins to add their own buffered methods like ```setFoo```)
- Exposes API on provider so applications can call ```setUsername```, for example, at config time.
- Buffering
- Only buffers when waiting for a vendor API and tracks it for multiple vendors
- Can flush buffers immediately upon registration (to make sure things like 'setUsername' gets called before eventTrack
- Support for mixpanel super properties (```mixpanel.register```)
- Tests around a lot of things

I'm happy to work with you on this. We really needed support for multiple tracking services and better control over the buffering.