Add missing parameters to platform methods on Texture3D

A few little--but important--things here:

- Some of the parameters were left out in the API split, but it turns out we did need them.
- Moved the interop marshalling into the platform files to keep alloc/free near the resource usage and consistent with the others.
- Renamed member variables to follow the underscore prefix convention. SetData used the same names for a different meaning and it was confusing.