Support nodes with mirrored transforms (negative scales).

- Matrix4#decompose will generate a negative scale and a correct
  rotation when the determinant < 0.

- Object3D maintains a `matrixWorldIsMirrored` property.

- WebGLRenderer.setMaterialFaces considers the node's mirror state when
  setting the face orientation.

- `flipSided` moved from a shader parameter to a uniform.

Fixes #1717.