Transform Filtered

* Refactored GafferImage::Filter to have a better interface whilst removing the need for the construct() method.
* Added a LUT to the Filter class to speed evaluation of the slower filters.
* Changed the Sampler to use the new Filter interface. Filters now have to be passed into the Sampler's constructor.
* Fixed bugs in the Sampler that:
   - Caused incorrect results with negative sample areas.
   - Samples required to compute a filtered sample were being clamped to the sample area even when the resulting sample was inside.
* Modified the Reformat node to use the new Filter and sampler interface.
* Updated bindings for the Sampler and Filter classes.
* Added filtering support for the ImageTransform node.
* Added test cases for the ImageTransform node.
* Fixed a bug with the Reformat node when using the box filter to shrink an image. Updated the test case.