(note: offshoot of #1094 changes)
Now that IOContext has life-cycle, its management becomes more important. This is easier to do deeper down in the stack it exists -- we probably do not want it at API level (JsonGenerator / JsonParser), but should move it to the lowest partial implementation level.
Due to possible risk, only for 3.0 (master)