(PUP-2738) - Refactor FFI memory consumption / usage

~~- Causes 14 test fails with Invalid Memory Object, so might
   be on to something here~~
~~- one of the MemoryPointer auto-free / block style calls has been
   removed from windows/file.rb ... resulting in 28 less failures
   need to investigate further~~
I don't believe there are any callers using the return value from `Write` (previously the `BOOL` coming out of  `WriteConsoleW`), but to be least surprising, there should be a `return` there.