TdLib Client class for interaction with TDLib.
The main TDLib interface is asynchronous. To match requests with a corresponding response, the field "TdFunction.extra" can
be added to the request object. The corresponding response will have an "TdObject.extra" field with exactly the same value.
Each returned object will have an "TdObject.client_id" field, containing the identifier of the client for which
a response or an update was received.
Synchronously executes a TDLib request.
A request can be executed synchronously, only if it is documented with "Can be called synchronously".
event is synchronous TdFunction request to TDLib.
Events from the incoming updates and request responses from the TDLib client by clientId identifier.
Must be call once per client.
Receives incoming updates and request responses from the TDLib client by clientId identifier and timeout.
May be called from any thread, but shouldn't be called simultaneously from two different threads.