Add support for conditional processing

Example:
```
version :small do
  process resize_to_fit: [384, 256], if: :must_fit?
  process resize_to_fill: [384, 256, 'Center'], if: :must_fill?
end
```

**Note**: Carrierwave does support this by default already: https://github.com/carrierwaveuploader/carrierwave/blob/c2ee2e89d3aa447c6b81186be6d627202d33a97f/spec/uploader/processing_spec.rb#L50
The only difference here is that we don't pass the file as done by https://github.com/carrierwaveuploader/carrierwave/blob/master/lib/carrierwave/uploader/processing.rb#L77