turbo-tasks: Expand `<T as TaskOutput>::Return` values in macros (#8096)
Previously, we'd generate function return types like:
```rust
<Vc<AssetIdent> as TaskOutput>::Return
```
which is equivalent to the much simpler:
```rust
Vc<AssetIdent>
```
That approach is nice because it's easier to implement in the macros, and it's more correct, because it uses the type system to verify the type of `Vc` and `Result` are what we expect. However, it makes the rustdoc output much harder to read.
This attempts to the expansion of `TaskOutput::Return` inside the macro to generate more readable documentation, at the cost of some correctness.
<details>
<summary><strong>Rustdoc Before</strong></summary>

</details>
<details>
<summary><strong>Rustdoc After</strong></summary>

</details>
<details>
<summary><strong>Example compilation error</strong> with an invalid return type</summary>

</details>