Renders Widget's background color by default.

Widget::RenderBackgroundColor() was added to render the background color before executing Widget::Render(). The default background color is white and can be changed through set_background_color().

However, if the widget is not opaque, the background color will not be rendered. By default, all widgets are opaque but can be changed through set_is_opaque().

The new opaque attribute also opens the door for optimizing WidgetView's rendering process in the future.