Add prelimary compositor interface

This PR adds a prelimary version of the compositor's interface.
Really? For making the type an `ws_object` it is not neccessary to make it public, thought. And the monitor should be compositor-internal, shouldn't it?