SW Sample: Offline Analytics

@jakearchibald @ebidel & co.:

This builds on an existing sample that demonstrates offline functionality, and addresses the question of how to get a system like Google Analytics that relies on sending data to a remote server to play nicely with offline web pages.

The code queues failed Google Analytics pings in `IndexedDB` and attempts to resend them each time the service worker starts up, with the `dt=` parameter set to reflect the original time of the page view event.
Agreed that there should be some sort of "I give up" logic in the retry.

Since this is a Google Analytics-specific example, and since GA pings that are re-sent after too much time has passed are effectively worthless, I'm more inclined to put in logic that gives up if more than, say, 1 day has passed. (The [docs](https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#qt) say anything older than 4 hours might be ignored, but in practice it might be longer.)

(The actual number of times that the request might be retried over the course of the day will vary depending on whether there's anything automated that revives the service worker script in the background or how frequently the user visits a controlled page.)