MSVC: there's no mmap() on Windows

There's a compatibility library, the mman-win32, which implement a
mmap-like semantics. However, on Windows one cannot map a read-only file
into memory for a length that is larger than the size of that file,
and you also cannot overwrite an existing mapping.

The easiest course of action is to just read the file into memory and be
done with it.

See-also: https://stackoverflow.com/a/46014637/2245623
diff --git a/CMakeModules/UseCompat.cmake b/CMakeModules/UseCompat.cmake
index ac330e5..753b10d 100644
--- a/CMakeModules/UseCompat.cmake
+++ b/CMakeModules/UseCompat.cmake
@@ -54,6 +54,7 @@
     check_symbol_exists(realpath "stdlib.h" HAVE_REALPATH)
     check_symbol_exists(localtime_r "time.h" HAVE_LOCALTIME_R)
     check_symbol_exists(strptime "time.h" HAVE_STRPTIME)
+    check_symbol_exists(mmap "sys/mman.h" HAVE_MMAP)
 
     unset(CMAKE_REQUIRED_DEFINITIONS)
     unset(CMAKE_REQUIRED_LIBRARIES)