_renderContent() supports any object with __toString() (assumes the string is unescaped)
metadata() now also handles external scripts
typos
renamed inputs()→filter()
added util\Files