Layout : Added doLayoutIfNeeded to prevent unnecessary layouts
Widget : Added method for warning a widget that one of its layout parameters has changed