Added add_widget callback and fixed callback for remove_all_widgets.

I hated that the new remove_all_widgets function fired the callback for each removed widget. I modified it to only invoke the callback when it is done removing all widgets. If you need individual callbacks on each remove then use remove_widget instead.