Doesn't this fail when `this.modelMatrix` is constructed with `new Matrix4()` or `Matrix4.IDENTITY`?  Instead, can't we initialize `this._modelMatrix` to `undefined`, then use this below:
```javascript
this._modelMatrix = Matrix4.clone(this.modelMatrix, this._modelMatrix);
```
Same comment throughout if it applies elsewhere.

Shouldn't this also happen when `this._boundingSphere` changes?