Fix layer selection and point translation for mouse events

Select the topmost layer at a given point to send mouse events and when
sending the event, ensure that they are relative to the layer origin,
rather than in absolute page coordinates.

Fixes #3504.
LayerPixel still doesn't quite have the complexity package up what the origin is, so the type cannot eliminate all ambiguity. What I mean is that LayerPixel specifies a certain pixel size shared between all layers, but each layer defines its own coordinate space where 0,0 is placed at the layer origin.

My thought with a more complicated name than "point" is that it answers the question "How does this differ from the point I passed to find_topmost_layer_at_point?" I'm definitely open to other ways of reducing that confusion though.