[FEATURE] Introduce image metadata

This introduces `metadata` as a gettable property of
the `ImageInterface` and its implementations, in order
to carry initial image metadata along the lifecycle.

The distributed implementation determines the metadata
by the image's EXIF information, but it not limited to
this in the future.

This is a preparation for #222 and related to #190.