Use a depset of strings instead of TargetAndHeaderInfo

We can pass the depset of strings to a build variable and have it flattened at execution time. This significantly reduces memory consumption in analysis phase.

Example analysis phase metrics before and after this change on `//superroot/servers:sr_www`:
```
metric       mean               median              stddev        1-pval
cpu:       2612.022s           2637.130s            82.964
memory:    36217MB             36218MB              0.800
system:    109.650s            110.240s             3.107
wall:      61.176s             61.635s              1.891

metric       mean               median              stddev        1-pval
cpu:     1932.974s (-26.00%)   1933.75s (-26.67%)   43.799    0.99622 (significant)
memory:  9920MB (-72.61%)      9920MB (-72.61%)     0.632     0.99622 (significant)
system:  100.272s (-8.55%)     100.750s (-8.61%)    3.082     0.99622 (significant)
wall:    48.148s  (-21.29%)    46.594s (-24.40%)    2.443     0.99622 (significant)
```
PiperOrigin-RevId: 424361043
2 files changed
tree: 2affa204b0116f96b0fca20864a8d957c485b51a
  1. lifetime_annotations/
  2. rs_bindings_from_cc/
  3. CODE_OF_CONDUCT
  4. CONTRIBUTING
  5. LICENSE
  6. README.md
README.md

Crubit: C++/Rust Bidirectional Interop Tool

Extremely experimental interop tooling for C++ and Rust.

Please don‘t use, this is an experiment and we don’t yet know where will it take us. There will be breaking changes without warning. Unfortunately, we can't take contributions at this point.