Fix bugs on Image::Transformations

This commit tries to fix the issues raised by Thomas. One by one:

1. Refactoring app/views/alchemy/admin/essence_pictures/crop.html.erb
- I didn't really put everything into a method, but rather used Ruby's to_json method.
- @size_x and @size_y get merged into a @min_size parameter, because that's what it really is.

2. Added lots of comments

3. Moved all methods that aren't directly accessed from outside to private methods

4. Added some tests for complex cropping behaviour

5. Changed behaviour for the fixed_ratio option when cropping.
Before, fixed_ratio would be "true" and then set the ratio to 1. Now, one fixed_ratio
takes a number (width/height) and can be arbitrarily set. This makes sense when used in
conjunction with the "x20"/"20x" syntax for image size.
It only affects the image cropper. There is no support for ratio when rendering directly.

6. Thumbnails of cropped images without mask now show the correct part of the image.

7. Instead of raising an error when generating the default mask, the crop button is
disabled when trying to crop an image that cannot be cropped.

8. Changed "-resize" to Imagemagick option -thumbnail because it's
[faster than -resize](http://www.imagemagick.org/script/command-line-options.php#thumbnail)

9. Added upscale parameter to xy_crop_resize

10. Use @image instead of @picture.image_file in the picture_controller.rb