Fix not to create NUL file by tsc in Windows

In windows, `tsc`, the TypeScript compiler for Node.js, creates the file passed
by `--out` argument, even if the file name is `NUL`.
This will pass a temporary file name to `--out` argument, and remove the file
after compilation, only in Windows.