Use the system-wide printf binary (if available) instead of shell built-in

The hope is that this might allow fish to work. See #5.