Allow controlling depth of Vc debugging (#3512)
Adds a mechanism for controlling the depth of `Vc` debugging, to avoid
printing out huge structs when we're only interested in some superficial
overview of it.
This will only affect `Vc`s: if a `Vc` contains a non-`Vc`, very deep
struct, the struct will be fully printed out. This is because you can't
control the printing depth of the default Rust `Debug` trait.
Marking this as a draft for now as I intend to change the name and
arguments of `dbg_depth`.
```rust
eprintln!("{:?}", some_vc.dbg_depth(2).await?) // will now only print up to a depth of 2
```