The problem is that supporting enough of the PC hardware to build a graphical system from the ground up is a many hundreds of thousands, if not millions, of lines of code commitment. It takes many many bug reports over several years to stabilize something like that.
You could perhaps do something on a newer, simpler, and well-designed and documented architecture (say an ARM dev board with a network interface to an X/NX/VNC/browser interface). But even Google continues develops Android on top of Linux for a reason.
Linux is fine, it's just a kernel. Innovation goes into the user space, between /sbin/init and /bin/sh. I, for one, would start changing all the configuration files of /etc/ to a standard format: json, yaml, scheme, lua, python, it doesn't really matter, just abstract that part away.
The underlying API is always going to be POSIX and the ABI is going to be C based which in this age we can do better.
Regarding abstraction - there is way too much already.
A platform should stand alone and self host be viable, which is impossible with the Linux kernel as you have to pull in most of GNU to build it and change it.