Add scopeless macros

This makes the macros `MIN(x,y)` and `MAX(x,y)` apply to ISO-C.
It also "fixes" the type checking by casting both arguments to the first argument's type.
Will this result in a compiler warning if `typeof(x) != typeof(y)` ?