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.