HTML5Window.handleResize: various "prefer exact integers" fixes for the non-stretch case:
HTML5Window.handleResize: various "prefer exact integers" fixes for the non-stretch case:

Avoid dividing by zero if we somehow come in with setWidth or setHeight 0 (taking a hint from recent handleTouchEvent changes -- we never witnessed this but it seemed worth a bit of paranoia while we were making changes).

Prefer meeting either element.clientWidth or element.clientHeight exactly if scaleX or scaleY are smaller, respectively.  This avoids introducing float inaccuracies in some cases by recomputing style.width or style.height later.

When multiplying the other dimension, round down. Similarly, when computing margins, round down.  This avoids a half-pixel offset (possible performance implications?) in cases where the difference between the computed dimension is different from the client dimension by an odd amount (could e.g. see "marginLeft: -0.5px" here due to this and the aforementioned recompute).

Also dedupes a bit of code between the "we have a canvas" vs "we have a div" branches.

Reviewed locally by Jon Meschino.

madrazo/lime-1,MinoGames/lime,MinoGames/lime,madrazo/lime-1,fbricker/lime,madrazo/lime-1,fbricker/lime,player-03/lime,MinoGames/lime,player-03/lime,madrazo/lime-1,openfl/lime,openfl/lime,player-03/lime,openfl/lime,player-03/lime,fbricker/lime,player-03/lime,MinoGames/lime,openfl/lime,MinoGames/lime,openfl/lime,player-03/lime,MinoGames/lime,fbricker/lime,player-03/lime,openfl/lime,fbricker/lime,fbricker/lime,madrazo/lime-1,madrazo/lime-1,openfl/lime,fbricker/lime,MinoGames/lime,madrazo/lime-1