Precomp overlay
Now allows precomps to be "strings" and adds an extra lookup stage. This enables budgets to use generic precomps (assuming some schema or interface), and super-budgets can change the utilized precomps. This allows one to change underlying calculations like the quantum noise backend, or the suspension model, without adjusting all of the budgets relying on them for precomp.
An example test is included which swaps the Quad suspension with a free-floating testmass. This can now be done without adjusting the quantum noise calculation, even though quantum uses the testmass susceptibility from the suspension budget.
This will later be useful for swapping between quantum backends, and comparing computations that exist at the precomp, rather than Budget stage.