Make _client lazy and preload modules

The _client attribute depends on base_url, api_key and api_pass, but
there is no guarantee that they will be set when _client's default is
generated, leading to a useless REST::Client instance.

So, make _client lazy. Which exposes the fact that we're relying on
REST::Client to load the URI library. So we make our dependencies
explicit and move them to the top of the module.