Removes the physical model layer and associated engine code. This was already deprecated and removed in the framework. By removing it in the engine, we can also remove the need for layer tree diff/paint/preroll to have the device pixel ratio. This will simplify some of the multi-view work
Fixes https://github.com/flutter/flutter/issues/125720
This has been originally added to account for different
parts of rendering process applying integer CTM inconsistently. With Integer CTM removed this is dead code.
* Take SUPPORT_FRACTIONAL_TRANSLATION into account when diffing layers
* Store cull_rect in device coordinates
This removes the need to update cull rect coordinates when overriding transform
and is also consistent with how Layer::needs_painting() works.
* Use original transform for culling, but overriden transform to get paint coordinates.
This is to replicate the paint process during diffing, where layers are culled first and only then after paint the matrix is overriden.
* Rewrite AddLayerBounds based on @flar's suggestions