Fixes #2

Since Safari, Opera and IE don't implement the new
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template
element yet, the content property will be undefined in those browsers,
luckily the code just clones the childNodes of anything that get passed
even if it's not a document fragment, so just passing the template
instance will fix the problem
Fixes #1

The same browsers where the problem #2 arise treats the template
element as an unknown element, hence rendering the content, we don't
want this, so we will add style that hides any template element in the
page