fix($compile): support DOM nodes as template values

Special content types, such as SVG content or table content, can not be
used in many cases due to generating a document fragment which does not
support the particular template content type being used.

This patch enables special content such as SVG or table content to be used
by making the template a DOM node or collection of DOM nodes, rather than
strings.

The test demonstrates how this can be used to replace the directive node
with SVG elements, or similar.