I think currently we have compositors that are monolithic and due "it all". Sounds like we'd need a separate process to maintain window state, that the compositor interfaces with. is this recreating some of the problems of X11?
Perhaps a better approach would be to make sure that clients can wait for the server to restart and reconnect. Then you don't need any crash-proof server part.