gui: respect the alpha channel in surfaces

We weren't rendering any background which meant that surfaces
that were fully transparent would just show garbage that was
underneath. Lets make sure that the widget has a painted background
instead of garbage underneath.