Support other TLS backends

We allow nativetls for now, but later it would be great to support rustls and others so that we can work with whatever the embedder is already using.