You could also achieve this with pure X server and several system users: X controls your display and inputs (kb/mouse), and you let different X clients from different system users display on that server (eg. set the DISPLAY env var properly, configure X server permissions with xhost utility).
Then, you use a configurable tiling manager to control which windows go where (I am sure you can even go by the user somehow, but maybe you'll need to "decorate" the client run with an env var too).
Then, you use a configurable tiling manager to control which windows go where (I am sure you can even go by the user somehow, but maybe you'll need to "decorate" the client run with an env var too).