Expose the widget tree model to the client.
Move selection handling to selection rather than current index.

Necessary in order for this to work remotely.
Export the ObjectServer, will be needed by plugins.
Move most of the communication code into the shared library.

It's needed by plugins, and static linking has interesting side-effects
with the Endpoint singleton.
Call local slots also without explicit registration.