f refactor
Error handling + preserve image aspect ratio
Stacked 2D transformations for cursor interaction
Local image zoom distortion around mouse