Avoid setting `offset` when we intersect `Vararg`'s eltype.
`var->offset` is used to recode the length difference of 2 `Vararg`s.
But `Vararg`'s length might also be used in the type field, e.g. `Tuple{Vararg{Val{N}, N}} where {N}`, where
we should ignore `offset` when we intersect `Val{N}`.
This commit move the offset setting/erasing into `intersect_varargs`.