Commit 50c1240ebfaf moved the offset parsing into the PART_KIND_FILE
case of the switch, leaving PART_KIND_SIZE with no offset handling.
The offset was then silently ignored, so "-p efi::$size:$start" as used
by release/${ARCH}/mkisoimages.sh packed the ESP immediately after the
preceding partition.
Parse the offset outside the switch so both forms honour it. Add tests
covering absolute and relative offsets in both forms.