This reorders DOMInterfaceInfo fields in order to pack them.
It had 9 bytes (2 bytes + 7 bytes) of hole and padding.
The additional fields mConstructorArgs and mConstructorName fit the holes
with the reorder, without increasing the struct size.
Also this changes the legacy factory function's reserved slot to hold
LegacyFactoryFunction struct instead of JSNativeHolder struct,
so that the LegacyFactoryFunction::{mName,mNargs} fields are accessible from
the legacy factory function object.
Differential Revision: https://phabricator.services.mozilla.com/D226333