Use glTexSubImage2D instead, fix Canvas