Fix circular dependencies between optional, array_view, and rtc_base.

This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
diff --git a/rtc_base/file_win.cc b/rtc_base/file_win.cc
index 63edcb5..d7580aa 100644
--- a/rtc_base/file_win.cc
+++ b/rtc_base/file_win.cc
@@ -11,9 +11,9 @@
 #include "rtc_base/file.h"
 
 #include <io.h>
-#include "rtc_base/win32.h"
+#include <windows.h>
 
-#include <limits>  // NOLINT: win32.h should be considered a system header
+#include <limits>
 
 #include "rtc_base/checks.h"