switch to upstream b_print.c with HAVE_FUNOPEN check

the regular version is now more compatible with systems that do not have
funopen