uvector: use flags instead of impl_flags to keep WITH_WEIGHT flag

Because impl_flags is too small (1 byte) for storing WITH_WEIGHT
flag (256).