[runtime] Handle native size of structs with explicit layout and min alignment smaller than default packing. Fixes #4510

The calculating the native size of structs with explicit layout we need to take into consideration the minimum alignment
needed and the packing asked.

If no packing is supplied, we should respect the minimum alignment. If packing is supplied we should use the minimum required.