In-line Analytics

PR for internal review purposes as prelude for PR to upstream
    PR'd against copy of upstream master.

Known issues to be fixed later:
- Styling is embedded in html file as prelude to re-styling
- No tests
- pep8 and pylint not looked at yet.

@jbau @jrbl @stvstnfrd @caesar2164 if you please.
Always pass `radix=10` to `parseInt`, else the number could be
misinterpreted as octal or hex (browser dependent) [0].

```javascript
var eightInOctal = parseInt('010'); // wrong
var tenInDecimal = parseInt('010', 10); // right
```

[0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt