texture: default constructor requires image

Also support glTexSubImage*