Have a look at librocket. It meets your requirements of being HTML+CSS, lightweight, handling events and rendering to a buffer. I looked though a bunch of projects recently looking for basically what you asked and this was the match I found.
libRocket is the C++ user interface middleware package based on the HTML and CSS standards. It is designed as a complete solution for any project's interface needs.
libRocket uses the time-tested open standards XHTML1.0 and CSS2.0
(while borrowing features from HTML5 and CSS3), and extends them with
features suited towards real-time applications. Because of this, you
don't have to learn a whole new proprietary technology like other
packages in this middleware space.
- Cross platform architecture (Windows, Mac, Linux, iPhone, ...).
- Dynamic layout system.
- Efficient application-wide styling, with a custom-built templating engine.
- Fully featured user control set: buttons, sliders, drop-downs, etc.
- Runtime visual debugging suite.
- Easily integrated and extensible with Python scripting.
- Abstracted interfaces for plugging in to any game engine (samples for OpenGL, DirectX and Ogre3d).
- Decorator engine allowing custom application-specific effects that can be applied to any element.
- Generic event system that binds seamlessly into existing projects.