Fix race condition in WS.client and WS.resetClient

The original implementation of `WS.client` was a `lazy val`, which is thread-safe. But in commit ead15b9, when `WS.resetClient` was added, the implementation was changed, and is no longer thread-safe.