tls: fix opaque struct definitions
tls: fix opaque struct definitions

Using uninhabited enums for opaque types is actually a bad idea, since compiler can rely on them being, well, uninhabited, and it's easy to run into UB.

There are various other approaches to represent them, and I chose to wrap newtype around `c_void`.

cloudflare/quiche,cloudflare/quiche,cloudflare/quiche