add custom output function as option

I find I keep wanting to make some larger scale changes to the output than can be done easily with a template and stylesheet (esp. when the files output itself is a private function), and ultimately it seemed like allowing a custom output function (by type) would do it.