Samir, non ho capito cosa vuoi dire con "forte interazione" tra HTML e JavaScript"...
Ora, non ho MAI programmato un web browser, ma apparentemente è davvero una cavolata implemetare sia HTML che CSS (in realtà i CSS non fanno altro che dire come le varie informazioni "marcate" dall'HTML devono essere presentate, di fatto separano i contenuti (HTML) dal modo in cui vengono presentati (CSS)).
Un visualizzatore di documenti ipertestuali di tipo (X)HTML/CSS, a partire dal "sorgente" (si Shinkuro, lo so che non è un sorgente!) della pagina, crea un albero con tutti gli elementi HTML. Poi applica ai vari elementi tutte le regole CSS incontrate. Fin qui lo fanno più o meno tranquillamente anche gli studenti di quarta ITIS (senza considerare eventuali ottimizzazioni di qualsiasi tipo - non sto parlando di assembly-).
Il problema, a questo punto che devi visualizzare gli elementi rispettando le impostazioni date dalle regole CSS e questa operazione è fortemente dipendente dalla GUI che stai usando.
Con ReAction sembra esserre abbastanza difficile; mi dicono che con MUI si riesce agevolmente.
*Credo* che OWB (il browser di afxgroup) usi un sistema che è indipendente dalla piattaforma per cui è stato possibile effettuare il porting.
Poi,chiaramente, manca Javascript; oltre all'interprete, bisogna fare in modo che tutti gli elementi visualizzati nella pagina si possano in qualche modo "programmare" vale a dire generare eventi e modificare la loro visualizzazione a run-time, in base ai programmi javascript.
IMHO è quasi impossibile

da fare da zero.
Ovviamente, a questo punto abbiamo realizzato solo un visualizzatore; ci manca tutto quello che serve ad un Browser comesi deve.