mesa/marshal: add custom BufferData/BufferSubData marshalling