fix(ngInclude): correctly add non-html namespaced template content

It is now possible for ngInclude to correctly load SVG content in non-blink
browsers, which do not sort out the namespace when parsing HTML.

/CC @tbosch / @IgorMinar

Closes #7538
This whole thing is on a sort of flaky assumption --- that we're compiling nodes in-place. I'm not totally sure of the right way to determine this or how to determine that it's the right thing to append the link-nodes. I feel like this will probably cause problems with `compositeLinkFn` in some cases (we might see bugs resulting in duplicate elements or something).

Originally this was trying to use Node.replaceChild() --- with the assumption that we only want to do this if we have as many linkNodes as compileNodes. This assumption was broken because at this point, compileNodes appear to be detached (at least in the test case provided in this PR).

So, I've updated this to just always append the linkNodes if I think we're compiling in-place (but it's hard to know if this is the right thing to do)