Improve handling of the null device

`/dev/null` の扱いを改善しました。
Windows では `/dev/null` を `NUL` に置き換えて open します。

vimshell で `/dev/null` にリダイレクトするコマンドを実行した際に
メモリリークする問題が修正されます。
(`yes > /dev/null` を実行するとわかりやすい)