Connect to the given host and port number.
Function requires a running message loop (see RunMessageLoop).
Blocking: Function does not block.
Events: If the connection succeeds, a Connected event results. If the connection fails, an ErrorReceived event results, containing the error message indicating why the connect attempt has failed.