Add option in CMake to generate code coverage using `gcov`, `lcov`, etc. Also add to GitHub Actions workflow and push to CodeCov. Include CodeCov badge in README.