Push an empty hit testing clip node for empty ClipNodes
Some Gecko display lists produce out-of-sequence ClipIds for ClipNodes (#2898) which leads to empty ClipNodes. Previously the HitTester was just discarding those nodes. This is an obvious problem because it means that subsequent ClipNodeIndices are out-of-sync with the HitTester's list of clipping nodes. This change fixes this by also adding empty clipping nodes in the HitTester. Unfortunately, we can't make a test for this until we figure out how and why Gecko is producing display lists with out-of-sequence ClipIds. Hopefully once we do that, we will no longer need to create empty HitTester nodes at all.