Camera::setViewDirection orientation fix

setViewDirection does not take mWorldUp into account. Using the following test example the x-axis points to the right, while it should point to the left. Using setWorldUp *after* setViewDirection gives the correct output, because setWorldUp overwrites the wrong value calculated by setViewDirection.

```
CameraPersp cam;
cam.setEyePoint( Vec3f( 0, 0, 10 ) );
cam.setWorldUp( -Vec3f::yAxis() );
cam.setViewDirection( -Vec3f::zAxis() );
gl::setMatrices( cam );
gl::drawCoordinateFrame();
```