cache http client in New()

this is a breaking API change