Made image class could use custom Drawer and Effects

When using Imagine to create some special filters, I found that there is no way to change Imagine\Gd\Effects into self custom Class, so I think allow custom is necessary.

This pull request could make Imagine support custom Effects & Drawer

    class Test extends Imagine\Gd\Effects {
        public function test(){}
    }
    $imagine = new Imagine\Gd\Imagine();
    $image = $imagine->open(__DIR__ . '/Allo.png');
    $image->effects('Test')->test();