make fpos_t an opaque type

According to the C11 standard, §7.21.1, `fpos_t`

> is a complete object type other than an array type

but there's no guarantee that its an integer type.