IOCP.Windows: add OVERLAPPED, LPOVERLAPPED
Add OverlappedRec, so we can make Overlapped objects in pure Haskell
Construct Overlapped objects in Haskell instead of C