The Exif specfication allows Exif/GPS/Interoperability IFDs in the
thumbnail image (1st IFD) as well as in the primary one (0th IFD).
Do not define separate sets of tag constants for primary and thumbnail
images because it doubles the number of constants. Instead, add a
flag in struct Field to distinguish them.
In the Exif specification, IFDs may be nested and chained.
The interpretation of a tag value depends on the IFD in which it
appears, so the context is added into Tag.