(PUP-2738) FFI from_string_to_wide_string block
- MemoryPointer from_string_to_wide_string previously allocated a new MemoryPointer instance but didn't force callers to scope / free it. This allowed the Ruby runtime to clean it up on GC, but we prefer to force callers to use a block form, to clean up the unmanaged memory when the variable is no longer needed. Refactor the method to yield the ptr.
- Since the ptr is no longer valid after the block yields, return nil from the method