refactor path template lookup, reduce allocated objects in path_for
add view, nested layout, streaming