win64 fixes

The current situation is that long is passed by ref to the signatures where size_t or ssize_t in ImageMagick is expected. That works fine so far on 32 bit everywhere and on 64 bit *nix. win64 is the one which can't take it, as long is 32 bit there while size_t is 64 bit. I'm aware that this patch can theoretically cause overflow when returning long, but ... that's actually impossible, like say getting supported formats I'm even not sure it'll exceed int16 range some when. When unsure, one can add explicit cast to long at the places where the data is returned, but passing long instead of size_t by ref is definitely crashy on win64.