[WPF] Fix canvas rendering issue

Render the canvas before calling base. This fixes rendering issues on
child widgets.
[WPF] Fix size constraint conversion bug
[WPF] Fix crash in desired size calculation

When exiting user code, don't run the queued actions if an exit callback
has been registered. This avoids running the actions too early. It fixes
a crash in WPF, caused by calling MeasureOverride in an unsupported sequence.