All backend constructors now use SharedClient() which returns an
*http.Client backed by a per-host shared *http.Transport. This enables
HTTP/2 multiplexing: multiple sessions targeting the same API host
share a single TLS connection instead of each maintaining their own.
The pool is keyed by "backend:baseURL" so different endpoints get
separate transports while same-host sessions multiplex.