Added a basic version of the NVIDIA PhysX engine. Just the skeleton is present.
Merge branch 'master' into physx
Merge branch 'master' into physx
Added base operation for the PhysX engine
Made the error message in CEmbodiedEntity::IsCollidingWithSomething() more informative.
Made the error messages better in CEmbodiedEntity
Added missing virtual destructor to CEntityOperation
Added set methods for CQuaternion
Lots more work on the PhysX engine.

Still two huge problems exist:

1. boxes compenetrate;
2. shutdown bombs out.
Merge branch 'master' into physx
Fixed conversion from CQuaternion to PxQuat.

Fixed PhysX shutdown errors.

Added comments to PhysX engine class.
Change of logic in the way ray queries on embodied entities are calculated. Now, instead of using the positional indices and perform per-object checks, the query is completely left to the physics engine. In other words, the method to check for rays intersections is now in the CPhysicsEngine interface instead of the CPhysicsModel one. This results in faster performance for those physics libraries that offer fast ray queries over the entire simulated world, such as Bullet and NVIDIA PhysX.

Implemented the new system everywhere.
Fixed the PhysX code after the latest changes
Merge branch 'master' into physx
More work on the PhysX engine:

1. added the cylinder model
2. added a template class for the common code between the box and the cylinder;
3. added the logic for ray checking
More work on the PhysX engine: implemented the IsCollidingWithSomething() method.
Fixed a couple of memory leaks due to factory data of loop functions and qt user functions still around after destroy.
Fixed memory cleanup in PhysX engine
Test update
Removed continuous collision detection from PhysX because it was too slow