Implement mipmap support in BasisTextureLoader
Implement mipmap support in BasisTextureLoader

This change makes sure that we load all mipmaps present in the .basis
file. This is important for multiple reasons, one of them being that to
use .basis files in glTF out of the box, the texture has to have a
complete mipchain (otherwise the texture is incomplete as per WebGL spec
and sampling this texture returns (0,0,0)).

Contributes to #16524.

Itee/three.js,Liuer/three.js,06wj/three.js,TristanVALCKE/three.js,sherousee/three.js,Liuer/three.js,looeee/three.js,Samsy/three.js,kaisalmen/three.js,WestLangley/three.js,fyoudine/three.js,QingchaoHu/three.js,sttz/three.js,sttz/three.js,Samsy/three.js,QingchaoHu/three.js,cadenasgmbh/three.js,zhoushijie163/three.js,TristanVALCKE/three.js,Samsy/three.js,Samsy/three.js,jee7/three.js,WestLangley/three.js,TristanVALCKE/three.js,mrdoob/three.js,mrdoob/three.js,fraguada/three.js,sherousee/three.js,zhoushijie163/three.js,gero3/three.js,greggman/three.js,stanford-gfx/three.js,donmccurdy/three.js,makc/three.js.fork,jee7/three.js,aardgoose/three.js,fraguada/three.js,fraguada/three.js,greggman/three.js,fyoudine/three.js,06wj/three.js,TristanVALCKE/three.js,stanford-gfx/three.js,makc/three.js.fork,fraguada/three.js,fraguada/three.js,fernandojsg/three.js,jpweeks/three.js,fernandojsg/three.js,looeee/three.js,aardgoose/three.js,jee7/three.js,Samsy/three.js,Samsy/three.js,SpinVR/three.js,cadenasgmbh/three.js,Itee/three.js,kaisalmen/three.js,sherousee/three.js,donmccurdy/three.js,TristanVALCKE/three.js,SpinVR/three.js,fernandojsg/three.js,gero3/three.js,fraguada/three.js,jpweeks/three.js,TristanVALCKE/three.js