The Matrix layer worked, but is too slow (creativity default runs took
about 2.5x as long with the Matrix layer). It's also sort of a hassle:
any new matrix features that are needed require adding new glue layer
instead of just using Eigen as is.
This means, however, that eris now requires Eigen to compile.
This commit is basically the old creativity code, but with some minor
cleanups to the restriction code, and a modification to use jacobiSvd
for least-squares calculation (instead of using X'X.solve(X'y) with a
QR solver).