Add configurable http_client

To cover cases like #11 (and others I haven't thought of) allow for the http_client to be configurable. Also includes moving the hook_name over to a key based argument for simplicity.

@toshihirock would this cover your case satisfactorily?