extra/runner: Add plot of testrun durations to HTML report

Adds to the runner `index.html` template a chart of test run durations
rendered with the jqplot library to aid in identification of outliers.

The chart shows the duration (y-axis) in seconds for each test run
(x-axis). The left hand size (x=0) is the earliest test in the testruns
table.

Summary of features:
- Clicking on point navigates to the corresponding row in the testruns
  table and opens the test result in the right-hand panel.
- Hovering over a point in the chart will show the timestamp of the
  corresponding test run.
- The report is still self-contained, as the data for the plot
  is pulled directly from the `#testruns` table.
- The chart is resized to fill the available space whenever the window
  is resized.

As jqplot expects an array of `(x,y1,y2,...)` points for each series,
this `plotSeries` is populated when the page is ready. The tooltip text
lookup is implemented with a custom `tooltipContentEditor` that uses a
hidden y-axis to store the timestamp.

The js and css files for jqplot are hosted by the `jsdelivr.net` CDN.
extra/runner: Color points in the HTML report plot by status

This updates the runner's `index.html` report template to color the
points based on the css class of the row in the `#testruns` table. This
is done by having a different jqplot series for each css class and
then specifying a color for each one.

The css class of each row is set by `runner/report.css_class()` and can
be one of three values:
- `success`
- `warning`
- `error`

The colors of the points don't match up with those used in the testruns
table. This is because the latter colors are too light and the resulting
plot seems to be difficult to read.