How cleaner? X11 is very extensible, if you wanted some vector graphics methods, you could just make an extension. Whole font drawing got replaced in this way, nobody really use old X core fonts anymore, everybody now uses client-based Xft system. (Well, yes, you could make a new version without this old stuff. But backwards compatibility and so.) In fact, this is what happens if you are drawing with OpenGL, you use X11 just to make a window to draw in, set some other stuff, handle input, but drawing itself completely sidesteps X11 and X server.