Update using json

Move where we load the json and add some code to report errors in loading.

Update graph expansion. Instead of creating a duplicate graph and hiding all
the series we're not interested in, we now only grab the data for the series we
care about. This makes graph expansion much faster and will be required for
allowing graph expansion to work with multiple configurations.