resolve #74 [rt.cpan.org #57524] - check FH layers

before we set binmode on STDOUT/STDERR/STDIN check the layers that
exist on them and if there are any none defaults then *don't* set
binmode as that will wipe out the existing modes. add test for this
which means we need to wrap the setting in a subroutine so can test
it outside the OS's affected since the alternative is faffing about
with $^O