Fix EZP-22280: Implement a native image AliasGenerator

# Image alias generation using Imagine

> https://jira.ez.no/browse/EZP-22280

## Description
Image alias generation is now using [LiipImagineBundle](https://github.com/liip/LiipImagineBundle), with underlying
[Imagine library from avalanche123](http://imagine.readthedocs.org/en/latest/).

This bundle allows to use either GD, Imagick or Gmagick PHP extensions and allows to define flexible filters in PHP.

Image variations are managed by the `IOService` and are completely independent from `ezimage` FieldType.
They are generated only once and cleared on demand (e.g. content removal).

## Configuration
Image variation (aka "Image alias") definition follows the same format as before, in `ezpublish.yml` or any imported
semantic configuration file.

```yaml
# Example
ezpublish:
    system:
        my_siteaccess:
            image_variations:
                small:
                    reference: null
                    filters:
                        - { name: geometry/scaledownonly, params: [100, 160] }
                medium:
                    reference: null
                    filters:
                        - { name: geometry/scaledownonly, params: [200, 290] }
                listitem:
                    reference: null
                    filters:
                        - { name: geometry/scaledownonly, params: [130, 190] }
                articleimage:
                    reference: null
                    filters:
                        - { name: geometry/scalewidth, params: [770] }
```

> **Important:** Each variation name **must be unique**. It may contain `_` or `-` or numbers, but no space.

* `reference`: Name of a reference variation to base the variation on.
  If `null` (or `~`, which means `null` un YAML), the variation will take the original image for reference.
  It can be any available variation configured in `ezpublish` namespace, or a `filter_set` defined in `liip_imagine` namespace.

* `filters`: array of filter definitions (hashes containing `name` and `params` keys). See possible values below.

### Available filters
In addition to [filters exposed by LiipImagineBundle](https://github.com/liip/LiipImagineBundle/blob/master/Resources/doc/configuration.md),
the following are available:

| Filter name                  | Parameters                      | Description                                                                                  |
|:----------------------------:|:-------------------------------:|:--------------------------------------------------------------------------------------------:|
| geometry/scaledownonly       | [width, height]                 | Generates a thumbnail that will not exceed width/height.                                     |
| geometry/scalewidthdownonly  | [width]                         | Generates a thumbnail that will not exceed width.                                            |
| geometry/scaleheightdownonly | [height]                        | Generates a thumbnail that will not exceed height.                                           |
| geometry/scalewidth          | [width]                         | Alters image width.   Proportion will be kept.                                               |
| geometry/scaleheight         | [height]                        | Alters image height.  Proportion will be kept.                                               |
| geometry/scale               | [width, height]                 | Alters image size, not exceeding provided width and height.  Proportion will be kept.        |
| geometry/scaleexact          | [width, height]                 | Alters image size to fit exactly provided width and height.  Proportion will not be kept.    |
| geometry/scalepercent        | [widthPercent, heightPercent]   | Scales width and height with provided percent values.  Proportion will not be kept.          |
| geometry/crop                | [width, height, startX, startY] | Crops the image.  Result will have provided width/height, starting at provided startX/startY |

> *Tip:* It is possible to combine filters from the list above to [the ones provided in LiipImagineBundle](https://github.com/liip/LiipImagineBundle/blob/master/Resources/doc/filters.md)
and custom ones.

### Custom filters
Please refer to [LiipImagineBundle documentation on custom filters](https://github.com/liip/LiipImagineBundle/blob/master/Resources/doc/filters.md#load-your-custom-filters).
[Imagine library documentation](http://imagine.readthedocs.org/en/latest/) may also be useful ;-).

### Drivers
LiipImagineBundle supports GD (default), Imagick and GMagick PHP extensions and only work on image blobs (no command line tool is needed).
See the [bundle's documentation to learn more on that topic](https://github.com/liip/LiipImagineBundle/blob/master/Resources/doc/configuration.md).
Depends on:
* https://github.com/ezsystems/ezpublish-community/issues/187
* https://github.com/ezsystems/ezpublish-legacy/issues/1079

## TODO
* [x] Implement LiipImagineBundle interfaces
* [x] Fix [blocking issue EZP-23349](https://jira.ez.no/browse/EZP-23349)
* [x] Implement siteaccess aware configuration for filters
* [x] Port existing geometry filters (e.g. `geometry/scaledownonly`)
* [x] Implement mechanism to remove image aliases when trashing/deleting content (`SignalSlot` for content repository integration, `ezpEvent` for legacy admin integration)
* [x] Tests
* [x] Deprecate old image settings (e.g. imagemagick)
* [x] Doc
i'm late here. But what if variation definition change? i mean, supposing you have one variation saying to scale 100, 100 and you  want to change to 200x200. would the image be regenerated?