Bug 982663: collect and report app usage data

This patch does not have tests yet, and is still missing a couple of features, but it has working code and is ready for feedback and preliminary review.
A EC5 `Map` is better here IMHO.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map