Image metadata reader

This pull request adds an API for reading meta data from JPEG images and deprecates the `ExifData::fromFile()` and `IptcData::fromFile()` methods which don't work with streams.

Example usage
--
```php
uses('img.io.MetaDataReader');

with ($file= new File(...), $reader= new MetaDataReader()); {
  $meta= $reader->read($file->getInputStream(), $file->getURI());

  $dim= $meta->imageDimensions();  // [width, height]
  $exif= $meta->exifData();   // img.util.ExifData
  $iptc= $meta->iptcData();   // img.util.IptcData
}
```

Extended usage examples
--
**Accessing raw EXIF data**
```php
with ($reader= new MetaDataReader()); {
  $meta= $reader->read($file->getInputStream(), $file->getURI());

  if ($segments= $meta->segmentsOf('img.io.ExifSegment')) {
    Console::writeLine('EXIF: ', $segments[0]->rawData());
  }
}
```

**Reading image comments**
```php
with ($reader= new MetaDataReader()); {
  $meta= $reader->read($file->getInputStream(), $file->getURI());

  if ($segments= $meta->segmentsOf('img.io.CommentSegment')) {
    Console::writeLine('Image comment: ', $segments[0]->text());
  }
}
```

**Reading Adobe XMP/XAP** (embedded by Windows 7 e.g.)
```php
with ($reader= new MetaDataReader()); {
  $meta= $reader->read($file->getInputStream(), $file->getURI());

  if ($segments= $meta->segmentsOf('img.io.XMPSegment')) {
    Console::writeLine('XMP/XAP: ', $segments[0]->document());
  }
}
```

**Fetching GPS data**
```php
with ($reader= new MetaDataReader()); {
  $meta= $reader->read($file->getInputStream(), $file->getURI());

  if ($segments= $meta->segmentsOf('img.io.ExifSegment')) {
    Console::writeLine('GPS: ', $segments[0]->rawData('GPS_IFD_Pointer'));
  }
}
```