Return errors with their own result code

No longer just returns the source image if we fail to crop. Fixes #4