[placement] Avoid smart placement strategy with invalid client sizes
Summary:
To do so can in some situations lock up as the loop goes through
different positions incrementing by client->width/height.
If this is zero we can get into a stuck state.
This became a more common issue due to my earlier patch that places windows
in ShellClient::finishInit to allow the maximize placement strategy to
set the first configure size.
BUG: 408754
Reviewers: KWin, broulik
Reviewed By: broulik
Subscribers: kwin
Tags: KWin
Differential Revision: https://phabricator.kde.org/D21997