Dispatch Timer-based flushing

- gradle works, but only for building a library project. 
- Created a new interface `TimerDispatcher` and a basic/intermediate implementation. Default impl recreates previous functionality. Intermediate impl creates a timer that flushes every *n* milliseconds. 
- also added functionality to automatically flush queue after a certain capacity threshold has been reached.