Optimize ParseDeep()

`mismatch` will be set to true if both `endTag.Empty()` and `ele->ClosingType() == XMLElement::OPEN` are true or both are false which means they are equal.
`p` and `node` could be 0 only if `mismatch` is true, so I removed those ifs.

I also did some other tiny optimizations like avoid unnecessary assignment.