I've got an idea that solves everything. Why not just run another X server as a wrapper like Xnest or Xephyr?