Fix mmap with offset on Windows

query allocation granularity (64k on Windows, larger than page size which is 4k),
ensure offset to MapViewOfFile is a multiple of the granularity

add a test for mmap with offset