fix($compile): Detect when a directive `compile` removes `tElement`

Delect when a directive `compile` function removes `tElement` and keep on with the compilation from the following node

Closes #9198
The thing that is super unclear is the structure of the loop, like this doesn't make sense. If we're going to do this we should probably change it to a do/while loop instead, and make the conditions for incrementing extremely clear.

I don't think changing the name will matter much, it's going to be unclear no matter what it's called. The more important thing is making its intent and functionality __crystal clear__ with comments