fixes b() to use the center string method (which I just discovered in the docs). Also switches _print() to use a logger instead of sys.stderr, that should make it infinitely more configurable on where the output can go