vec: start using the Allocator trait

A finished implementation of this is blocked due to generic destructors
not working.