Added new filter running code

- Loads image operations using hooks
- Uses Willow

Not yet removed old code to keep commit changes as clean as possible
Added get_vary and get_vary_key to Filter

This allows a filter operation to specify which strings of data it used
inside the image to perform its calculations. This can be used to
determine whether an image has changed in such a way that requires new
renditions to be made.