[GTK] Widget and window sizing fixes
[Mac] Sizing fixes

Properly update the window or container size when the placement
properties of a widget change
Value returned by GetPreferredSize may be bigger than constraint

GetPreferredSize returns the size that the widget would like to have,
so that preference might be bigger than the provided constraint.
It is up to the container to decide what to do in that case. It may
decide to grow and make more space, or just assign what's available.
Window sizing fixes

The SetSize method can now provide only the width or the height.
Fixed several sizing issues the first time the window is shown.
Do the correct window size adjustments in GTK.
Add window sizing unit tests
[WPF] Track api changes
[Mac] Fix drawing unit tests
[GTK] Fix window sizing issue

When the size of the window changes, the content has to be adapted to it.
Since GTK has no concept of constraints, we have to manually notify
window size changes which can make the widget change its shape.
More sizing fixes

Adjust dialog size like we do for regular windows.
Avoid recursive loop when adjusting the size.
[Mac] Added some test reference images