New frontend/backend architecture.

**DO NOT MERGE**

For review purposes.

Mainly:
* frontend and backend in different processes
* communication using ZMQ