Investigate and define compositor protocol
In order to run the compositor out of process we need to define a protocol derived from the current interface the compositor has to the main runtime. The implementation of this will be done using Unix sockets and file descriptors with serialized C structs. A draft implementation of this will be merged with the multi threading work.