Tambien tenes la clase de PEAR, 
Image_Transform, pero realmente no es muy practica. Lo que si soporta GD, ImageMagick, Imagick y NetPBM. Aunque de esta clase podemos sacar algunas ideas y un poco de codigo.  
Estuve viendo la tuya y no estaría mal organizarla de otra manera, ejemplo:  
Código:
 - Image/
    Info.php
    Gd.php
    Magik.php
    Imagik.php
    Netpbm.php
Image.php
  Lo que antes era ImageInfo, se convierte en Image_Info (Info.php). 
Image (Image.php) es la que toma el control y crea una instancia del objeto que necesita.