Some people use __proto__ to augment an Object's prototype after it's been created. This patch helps make the "new" prototype properties visible if necessary. This is also more consistent with the while logic below.
This is to match how GYP does it.
The "conditions" block is already within a "target_defaults", so its children amend target default settings already.
Easier to catch compatibility errors.