Better crop, cleaner chaining

Hi,

This is a pull request for changes I've made to your library for issues that have arisen while using it.

It should be fully backwards compatible.

See commit logs for changes.

Basically better cropping, and keeping the source image and dimensions while doing resize operations, so chaining them will result in as little loss of image information as possible.

It might be a good idea to tag your current state as `1.0.0` and if you accept this PR, tag is as `1.1.0`. This would be really helpful when using Composer.

Please let me know if you have any queries.

Thanks for the simple but very useful class.