Feature/offline analytics

rebased to the best of my ability. This version, keeps an offline stack record  of a fixed sized length. When the stack overflows, its bottom recs are deleted and a lost records accumulator is updated. On signal recovery, all events and lost record tracks are uploaded to ga and the local storage is cleared and starts from scratch.

I intend to write some tests at some point as there is quite a bit of functionality there!
`syncClicks`, `syncExceptions` and `syncPageViews` are mostly the besides different parameters. Maybe you modularise into a helper for DRY?