BufferGeometry: Clone attributes

Introduce BufferAttribute.clone().

Cloned attribute generated in BufferGeometry.clone() now remain instances of BufferAttribute. Previously, they were recreated as simple Object.

Make sure to go through BufferGeometry addAttribute() machinery when cloning the attributes.
Or this:
```
return new THREE.BufferAttribute( new this.array.constructor(this.array), this.itemSize );
```