improved bounds check

- now it snaps image to crop edge when it becomes off-bounds