Break the GUI functions in different source files
to better manage those big pieces of code.

* The object properties GUI should now use an
  overloaded function to show correct features of
  each kind of object instead of relying on a big
  switch on a custom enum. (still working on it)

* Introduction of the Obj3D object, which should in
  the end be a generalization of every object in 3D,
  especially to get rid of the ObjInfo class vector.
  Still working on it

* Correct a minor bug on the lights GUI, properties
  and create new light secondary GUIs overlapped