When printing anonymous bitfields inside a struct, lift up the fields.
This now prints, e.g., `[$fin=1, $rsv=0, $opcode=2, $remaining=255]`
instead of `[$<anon>=(1, 0, 2, 255)]`.
In addition, we also prettify non-anonymous bitfields. They now print
as, e.g., `[$y=(a: 4, b: 8)]` instead of `[$y=(4, 8)]`.
The implementation is a bit of hack (because we normally don't convey
type information through `cxx::*` elements) but can't of think
anything nicer.
Tested through updates to existing tests.
Closes #1660.