Regression tests in pytest

Remove the old regression test harness and replace it with pytest. To duplicate as little code as possible, modularize all the demos used as regression tests and make the `demo` and `demo/meshes` directories packages, so demos can be imported in the tests. Also rewrite `generate_mesh` to be usable as a module.

This compresses all our regression tests down to a single file and one mesh file as an asset.