Client message observers 2/6
Introduce a client message observer interface, strongly resembling the server
protocol logger interface added in commit 450f06e2.
This means a new pair of public API functions:
* wl_display_create_client_observer(): allows a client to register an observer
function, which is called for messages that are received or sent.
* wl_client_observer_destroy() which destroys the observer created by the prior
function.
With these changes, a client can set and clear an observer at run-time, and can
use it to log client messages to a location other than stderr.
The existing protocol-logger-test has also been revised and extended to demonstrate
using the new API for test use, to validate the sequence of messages sent and
received by the client, on top of the existing checks to do the same for the
server messages.
Signed-off-by: Lloyd Pique <lpique@google.com>