Analyze dependencies of cargo projects

Skip re-generating `--timings=json` on every run

Changes timings::Output::new() to accept a slice of bytes, so that we can use include_bytes!() instead of having to do the costly step of re-building every single run. That code still exists, but has been moved to a new timings::Output::generate() function.

Created by  finchie  on April 22, 2024
PJPTNU2SXAGBBBVDFZMHHRMC6X5UGOPBJWT7DP5YXOZKQKGLKHWQC
Change contents