Changed texture API a bit, making separate method for setting subdata.
The reason is that setting data and subdata should behave quite differently
(as it does now). set_data and set_storage resets the image, so for
multiple calls, the last override earlier calls. For subdata, however,
you want to take every call, because the texture might be updated in blocks.