Fix mmap_array 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_array with offset

fixes #7080 and #6203

some mmap issues remain with HDF5.jl, but there may be something else going on there
from reading msdn, it appears that szarray here should be szarray+offset-offset_page

`0xffff_ffff` can also be written as `typemax(Uint32)` for clarity (or at least with an underscore)