Core::BusyWidget: added support for showing the progress of a task (closes #467).

Also some various cleaning ups of Core::BusyWidget.