Changed Object3D.translate() so it supports non-uniform scaling. Also misc. cleanup.