Frame tool: fix resizing weirdness

* Make an independent copy of the frame before starting
  - the original one was being accidentally changed
* Better minimum size enforcement
  - no arbitrary stop to the resize when overshooting limits
  - makes it easier to resize to the minimum size (1x1 pixel)
* Tidier transform calculation

Fixes #19.