This removes the format_args_t from <format> and adjusts the type of
the format_args for the vformat_to overloads.
The format_context uses a back_insert_iterator<string> therefore the
new output_iterator function uses a string as its temporary storage
buffer. This isn't ideal. The next patches in this series will improve
this. These improvements make it easy to also improve format_to_n and
formatted_size.
This addresses P2216 6. Binary size.
P2216 5. Compile-time checks are not part of this change.
Implements parts of:
- P2216 std::format improvements
Depends on D103670
Is there a good reason to introduce this function as opposed to having this logic directly in __vformat_to?