Support non-square aspect ratios

Removed old flag `constrain` which always locked the aspect ratio to 1:1. New flag `aspectRatio` allows setting any aspect ratio. Also fixed that `selectAll` did not trigger `crop.data`.
Forgot to mention that there's another fix in this PR. Previously dragging the selection upwards toward the left or top edges and releasing the mouse would not trigger 'crop.finish' because either `coords.x` or `coords.y` where 0. Not sure how the logic works here with JS but looking to see if they are all numbers instead fixed it.