WidgetBase: In Dispose, set properties source to nil to detach changed event handler
property, boolProperty: Accept nil source
TableView: In Dispose, always call WidgetBase.Dispose
Action, ActionList: Use reference counting to detach condition changed handlers
WidgetBase: Fix disposal of context menu actions and properties
declarative: Remove CreateActions func and fix menu creation