compositors listen on the socket id "hilbert.compositor".

data types:

  color24:
    byte: red
    byte: green
    byte: blue

  color24 rectangle:
    multiple color24's, top to bottom by row, left to right within row

messages from applications to compositor:

  open window:
    byte: 0x00
    dword: window width
    dword: window height

  update window region:
    byte: 0x01
    dword: start x
    dword: start y
    dword: width
    dword: height
    color24 rectangle: the data
