layout: Try to allocate before getting size of tracked actors
Because we're about to get_transformed_{position,size}
of each,
which will return NaNs if not yet allocated. Those NaNs were finding
their way into the workspace strut definitions on startup and not
getting corrected until after the startup animation completed. This
meant any extensions depending on the workareas-changed
signal were
getting an incorrect workarea (the whole workspace) and so were
rendered out of place during the login animation. Now they're not.
Fixes: mutter#1627 (again) and https://launchpad.net/bugs/1919979