Support for rendering document fragments (returned from the renderer function) in the templates

This change allows passing of document fragments directly to the template layer. They are live bound as they are never converted to the string. It allows syntax that looks like this:

    var renderer = can.view.mustache('<b>{{{ subview }}}</b>');
    var subview = can.view.mustache('Subview {{ foo }}');
    var foo = can.compute("FOO")
    var div = document.createElement('div');
    div.appendChild(renderer({
    	subview : function(){
    		return subview({
    			foo : foo
    		})
    	}
    }));
    
    div.innerHTML // <b>Subview FOO</b>
    
    foo("BAR")
    
    div.innerHTML // <b>Subview BAR</b>