X is very interdependent, and a lot of it isn't fully modularized. When you need to change the entire foundation, knocking down a few walls won't get you there.
It sucks, I know. Decades of hard work "gone". But think of it this way, isn't it often said you shouldn't be afraid to throw away old prototype code? X is a decades-long foray into graphical computing, but perhaps it's time to throw away the prototype and start over with what we've learned from the process.