Replace isupper with a macro in msvc

The isupper function has following assertion code in Visual Studio.
This assertion stops parsing multibyte characters in debug mode.

```
_ASSERTE((unsigned)(c + 1) <= 256);
```