[singlejar] Port mapped_file for Windows

`src/tools/singlejar/mapped_file_*.inc` are now included in `src/tools/singlejar/mapped_file.cc` instead of header file and no longer inline most member functions: these functions are too large for inlining.

/cc @laszlocsomor

Closes #5780.

PiperOrigin-RevId: 207998444
diff --git a/src/tools/singlejar/BUILD b/src/tools/singlejar/BUILD
index 01415cc..2f0164d 100644
--- a/src/tools/singlejar/BUILD
+++ b/src/tools/singlejar/BUILD
@@ -24,6 +24,7 @@
         "diag.h",
         "input_jar.cc",
         "input_jar.h",
+        "mapped_file.cc",
         "mapped_file.h",
         "mapped_file_posix.inc",
         "mapped_file_windows.inc",
@@ -348,13 +349,16 @@
 
 cc_library(
     name = "mapped_file",
-    srcs = select({
+    srcs = ["mapped_file.cc"] + select({
         "//src:windows": ["mapped_file_windows.inc"],
         "//conditions:default": ["mapped_file_posix.inc"],
     }),
     hdrs = ["mapped_file.h"],
     visibility = ["//visibility:private"],
-    deps = [":diag"],
+    deps = [
+        ":diag",
+        ":port",
+    ],
 )
 
 cc_library(