Added qtopengl functions callbacks to draw box, cylinder and light.
Added flag to compile ARGoS with or without Google PerfTools in Debug builds. This is useful because valgrind does not cooperate well with Google PerfTools.
Freed up factory data when the simulator is destroyed.
Test file for basic objects.
Fixed a little visibility bug in any.h.
Added operations to add/remove a light entity.
Fixed remove entity method in space.
Cosmetic changes to a couple of files.
Entity compositionality laid down, and first fixes to qt-opengl visualization.

Huge commit! Main changes:

- Now all entities have a parent of type CComposableEntity.

- Every entity must have at least two constructors:
  1. one constructor that does not initialize anything, and defers all the work to the Init(XML) method
  2. one constructor that initializes everything, without the need to parse XML

- Added a structure in the space to contain all the "root" entities, i.e., the entities that do not have a parent. It is used upon cleanup and to draw stuff in qt-opengl.

- All entities now rely a lot on the basic types CEntity, CComposableEntity, etc. The use of the hierarchy is much better than in ARGoS2, and to build up complex entities the work to do is much less.

- This commit fixes the box, the cylinder, the light, and the floor entities, inluding all the entities on which they depend. A few non-basic entities are now commented out. I will take care of them in the next commit, in which I'll fix the foot-bot.

- The qt-opengl visualization does not work yet. The problem is that the models are created during static initialization, when the OpenGL context has not been created yet. This results in no entity being drawn, even if the code to draw them is called correctly. I will take care of this in the next couple of commits.