Implement snowflake as a PT v2 compatible library
We've been talking about moving to the v2 or upcoming v3 PT spec now that core Tor is being rewritten in Rust. We also need something similar to this for our pluggable transport sponsor work and Guardian Project has been asking for something similar (see #40018 (closed)). This ticket is for experimenting with how to structure modifications of Snowflake so it can easily be called as a v2 compatible library.
The client is already sort of split into a library and main program, so what I'm thinking is to adapt the existing client library to implement the v2 Go API.