gitweb/lib - Alternate ways of capturing output
Besides GitwebCache::Capture::SelectFH, which uses select(FH) to
redirect 'print LIST' and 'printf FORMAT, LIST' to in-memory file to
capture output, add GitwebCache::Capture::TiedCapture which uses
tie-ing filehandle to capture output, and GitwebCache::Capture::PerlIO
which uses push_layer method from non-core PerlIO::Util module to
capture output.
Add test (which canbe run standalone) for all those implementations,
checking ':utf8' and ':raw' output, and benchmark comparing them
(includes example benchmark tests). Please note that the test for
alternate implementations is not run from t/t9503-gitweb-caching.sh
test.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>