It does that. See Cairo/XRender. or XFT. or any of the other client-side font stuff (available since 2000)
2) Extend drawing primitives to include PS-like path operations.
It does that. See Cairo/XRender. Cairo was explicitly designed around a postscript-style drawing model.
3) Add dithering and phase controls.
It does that. See Cairo/XRender.
4) Add ColorSync support for drawing and imaging operations, display calibration
Yeah, color management sucks. On all systems. There's work to make it better on X, with XRandR 1.2 CRTC properties, but the linear lookup tables that hardware exposes can only do a rough approximation. The "right" way of doing it that would provide good results is slow, complicated, and difficult to get right.
5) Add broad alpha channel support and Porter-Duff compositing, both for drawing in a window and for interactions between windows.
It does that. See composite/cairo/XRender.
6) Add support for general affine transforms of windows
It does better than that - this is under application control, and can do weird and wonderful stuff like cutting holes in windows, rendering them in 3d, recoloring them, etc
7) Add support for mesh-warps of windows
See above -- arbitrary manipulation to window images is possible because it's under application control.
8) Make sure that OpenGL and special video playback hardware support is integrated, and behaves well with all above changes.
Yeah. drivers suck under X. the situation is rapidly improving though, especially under Intel and ATI.
9) We find that we typically stream 200 Mb/sec of commands and textures for interactive OpenGL use, so transport efficiency could be an issue.
No, it really isn't. Unix domain sockets are fast. really fast. as in, beating shared memory sometimes fast. And if you really need shared memory (this can be a win in large, one-time blits, although usually you're better off not using it), it's also there through the XSHM extension which is about 15 years old.
So why did they do their own window system from scratch? Well, because they didn't. They merely extended NeXT's disply postscript, which they already owned and had code for.