Patch cross domain object check

I need to add protections to the `constructor` check since it's you can't access it across frames. Unsure how to even add a unit test for this though.

The situation occurs when checking `window.parent` from within an cross origin iframe.

On a side note, I'm not sure the existing check is 100% correct. If the two constructors are not equal, why do we assume both have to have constructors? What if only one has a constructor, this check if fail when we want it to succeed? I can adjust this logic to be correct, but thought it might be a little out of scope.