GRAPHICS: Add support for partial drawing of widgets

Now we can only draw parts of widgets, by specifying a drawableArea for
the widget. This commit only adds support for buttons to have a
drawableArea.
GUI: Introduce ScrollableCanvasWidget
GRAPHICS: Partial rendering of alpha-bitmaps