Bug 1075970 - Ensure that the forward (DOMElem->TargetObj) and reverse (TargetObj->DOMElem) maps are one-to-one mapping

Done by creating "reference stubs" to target objects when we're inserting things to the maps.
Merge pull request #24969 from mnjul/bug_1075970_ensure_one_to_one_mapping

Bug 1075970 - Ensure that the forward (DOMElem->TargetObj) and reverse (TargetObj->DOMElem) maps are one-to-one mapping. r=timdream