Eigen3 support for CMake

You should pull this into the unstable branch, probably...