windows: fix warnings of MinGW -Wall -O3

sweep MinGW warnings.

still two warnings remains:
```
src/win/fs.c: In function 'fs__utime_handle':
src/win/fs.c:1187:3: warning: dereferencing type-punned pointer will break stric
t-aliasing rules [-Wstrict-aliasing]
   TIME_T_TO_FILETIME((time_t) atime, &filetime_a);
   ^
src/win/fs.c:1188:3: warning: dereferencing type-punned pointer will break stric
t-aliasing rules [-Wstrict-aliasing]
   TIME_T_TO_FILETIME((time_t) mtime, &filetime_m);
   ^
```

warnings fixed:
  - unsigned/signed unmatched, use int i to iteration array with ARRAY_SIZE(...) -- which is unsigned
  - uv__crt_invalid_parameter_handler not used on MinGW
  - several uninitialized warning for several places. but some are caused by assert(0); and abort(); (but MinGW doesn't know it will abort)
  - some Windows API returns int, not DWORD.
  - InterlockedExchange's first argument is volatile LONG*, not unsigned long*.