Split the spectrum of the Hessian into its positive and negative parts
and plot them on the same logarithmic axis. The data zoom controls are
still linearly scaled, as discussed in ECharts issue #20927https://github.com/apache/echarts/issues/20927
This introduces a dependency on the Charming crate, which we use to plot
the loss history, and the ECharts JavaScript library, which Charming
depends on.
Now that there's more than one canvas on the page, we have to pick out
the display by ID rather than by element type in our style sheet.
In the process, spruce up our realization diagnostics logging and factor
out some of the repetitive code in the examples, because we're already
changing those parts of the code to adapt them to the new encapsulation.
This commit changes the example output format. I've checked by hand that
the output is rearranged but not meaningfully changed.