The final component would bring all the various pieces together and actually look like a web browser to the outside world. This would take a Document object from the DOM and an associated stylesheet and scribble all over the buffer.
The current code in w3-display.el is very close to working strictly from a stylesheet. The lone exception is support for tables, but the patches to make tables work strictly off the stylesheet would be straighforward.
There could even be more than one... one tuned for speed that VM and Gnus could use that would be really fast, but not do tables or other time-intensive features, and one that would be the full-blown web browser.