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 really understand this ---- `ngCanary` is set up for each item above, so how could it ever not be set here? there isn't any user code running in between these places. Am i missing something?