refactor: move RelayClient to AppState, remove RelayClient::base_url() static method
Update start_oauth_flow() and related code to use relay_client from AppState instead of static RelayClient::base_url(). Remove the now-unused static base_url() method from RelayClient.
- Replace crate::http::RelayClient::new() with state.relay_client()
- Replace all crate::http::RelayClient::base_url() calls with state.relay_client().base_url_str()
- Update test calls to use new default_relay_url() free function
- Remove static base_url() method from RelayClient
- Update http.rs module documentation to reflect runtime configurability
This completes the removal of the static RELAY_CLIENT global and ensures all relay client access flows through AppState.