more principled generic printer
Exploring more principled/clean generic printer after chatting about the PV backend in Paris with Jonas. Porting the PV printer should be easy, but that's a bit out of scope, I'm trying to play with the generic printer to converge to something nicer.
This generic printer supports fully source maps v3: any backend using the genric printer gets that for free.
The result is something like that or the fact a user can click in VSCode in some region of the extracted code and be directed to the Rust source.
Fixes #404
I updated this PR in a way the current generic printer and the new one cohabit. We need to move PV to this generic printer (see https://github.com/hacspec/hax/issues/745), and then we will be able to remove the previous generic printer.