Enable setting aspect ratio bounds for the crop window

First off: thanks for this great library, helped me a lot in a couple of my projects!

The one feature missing for the use case I was working on a while back was the ability to set bounds instead of a fixed value for the crop window aspect ratio. The requirement was to only allow the cropped image to be either square or portrait and not more than twice as high as wide.

While this PR contains all necessary changes and works pretty well, it might be a bit rough around the edges - it's been a while since I worked on this. Please have a look. Thanks!