Well , you cant have it both ways. There was spideymonkey-node a few years ago , but Mozilla doesnt seem interested in maintaining that. In fact there are quite a few mozilla abandonned projects,(XULRunner...) that could have competed with node-webkit.
https://github.com/creationix/luvmonkey
Turns out Node is really well factored, so emulating the V8 API on top of SpiderMonkey, especially back in 2011 as the Spider-Node-Monkey project tried, is harder. It's the "long way 'round".
Binding libuv to any engine that implements ES5+ is easier and gives Node interop.
As for XULRunner, sorry -- no leverage. If you see some, make it a business and show us up.
Also: (i know i will get downvoted for saying that) but nodejs code is poorly written[0].. leaking v8 internals all over the place.. so to plug another js engine backend into it would be a very good exercise in tour-de-force
[0] - In a enginnering perspective, not pragmatic : cause nodejs does whats supposed to pretty well :)
It's not a product anyone wants. node-webkit will likely get left by the wayside in the same fashion once people realize the issues with building graphical desktop applications on top of a browser.