Remove Modifier.punchHole in SceneScope (1/2)

This CL removes the Modifier.punchHole in SceneScope and replaces it by
a more generic Modifier that takes any offset and size as a parameter.
The previous punchHole modifier was the last user of
Element.lastSharedState and SceneState.lastState, which will be removed
in the following CL.

This CL also adds an overload of Modifier.punchHole to easily punch a
hole given the LayoutCoordinates of any node.

Bug: 316901148
Test: PunchHoleTest
Test: Manual, swipe down from lockscreen to go to shade scene
Flag: N/A
Change-Id: I0d9adeead15b0fe211bfc634f5e2de0d01597398
3 files changed