[WPF] Don't set the Width/Height properties of widgets

When Width/Height is set, the DesiredSize of the widget returns
the specified size. Instead of setting those properties we now
set RenderSize, which doesn't have any effect on desired size
calculation.
[WPF] Avoid viewport recalculation when the visible are doesn't change
[WPF] Fix size calculation issue with Expander

The OnPreferredSizeChanged method can't be called in the handler of the
Expanded event, since at that point the expander may not yet have the
new size.
[Widget] New virtual method called when the size of a child changes