Replace hand-rolled protobuf, WebSocket and REST with chattolib
The adapter maintained ~950 lines of manual protobuf encoding/decoding,
WebSocket framing and raw HTTP calls that chattolib already ships - every
protocol change had to be chased twice. chattolib[realtime] becomes the
single API surface: login and client state, rooms, messages, presence,
notifications, and stream_events() for realtime delivery instead of a
hand-rolled socket loop. This first half swaps the core; the remaining
_rpc() call sites follow in the next commit.