Add support for highlighting averages.

The SessionFormatter now renders the session as an unordered list and uses
css styles to present it as a comma separated list.
Add keyboard shortcuts always.

Some devices, e.g: Google Chromebook Pixel, have a touchscreen and
a keyboard, so don't disable the keyboard for now.
Move format_time into a separate file.

This will allow it to be used by SessionFormatter when that is in a
separate file too.
Move the SessionFormatter into a separate file.
Initial port of SessionFormatter to React.