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
I don't like this change because it makes the code much harder to follow and by monkey-patching DOM node object, we are increasing memory consumption (v8 doesn't like when these objects get monkey-patched).

could we just check if the element at the current index changed after we applied directives to the current node?