StructureOfArray always aligned each array to the same alignment as malloc (usually 8 bytes), but that was not enough if one of its type has stricter alignment requirements. StructureOfArray now always honors at least the alignment requirement of each array. Also removed dependency on EntityInstance.h Fixes #5727