support windows

Windows doesn't have a /dev/null, IO::NULL uses /dev/null when available
and knows the correct replacement for windows

fixes #66