py/objstringio: If created from immutable object, follow copy on write policy.

Don't create copy of immutable object's contents until .write() is called
on BytesIO.
diff --git a/py/objstringio.h b/py/objstringio.h
index 853bfb1..56738f4 100644
--- a/py/objstringio.h
+++ b/py/objstringio.h
@@ -33,6 +33,8 @@
     vstr_t *vstr;
     // StringIO has single pointer used for both reading and writing
     mp_uint_t pos;
+    // Underlying object buffered by this StringIO
+    mp_obj_t ref_obj;
 } mp_obj_stringio_t;
 
 #endif // MICROPY_INCLUDED_PY_OBJSTRINGIO_H