add clientbackend, copy qml-exposed stuff from client into that

(skeleton) only, more to follow.
this should fix our init-too-fast catch-22 problem