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
This is better --- We could still shrink this a bit, though, by adding `if (i + 1 < nodeList.length) nodeList[i+1].ngCanary = canary;`

This would let us remove the initial loop. It doesn't make a huge difference though