It might take a bit of work, but you could maybe use families to help reduce the amount of events:

You could set up a function that checks the position of an object in relation to the entire screen width/height.

Get the distance via a percentage of the width and height..

So if the object has x position of 25 and y position of 10, and the screen at original scale is 100 x 100..

25/100 is 0.25

10/100 is 0.10

Then you take the stretched scale.. say the screen should be 130x110..

the object's new position would be 0.25x130 for the x axis, and 0.10x110 for the y axis.

You'd then have to adjust the object's height and width by doing the same calculations.

130/100 is 1.3 , so the size increase by 1.3 times.

the object's new width should be 1.3 times bigger. 16x1.3 is 20.8 for the new width

Do similarly for the height..

Do this for every object in the game that needs resizing/repositioned..