quick test with cubes and surface

- added more functionalities to Body
- made an example of multiple cubes raining down on the surface
- moving to implementing body mass initialisation detecting the
geometry class
clone body functionality
implementation using shared pointers

- first examples with shared pointer members.
manipulator skeleton
highlightable objects
First person manipulator

- infinite movement with mouse
- cursor hiding
- zqsd key mapping for forward/backward/left translation / right
translation
- mouse wheel for Z axis translation
- automatic cursor hiding if focus is lost and set again
- per frame movement events application manager
- smooth camera
Merge branch 'fps-manipulator' into selectable-objects

Conflicts:
	MoonBase/src/application.cpp
corrected warping minor jump
inter object align
Merge branch 'selectable-objects'
Basic HUD

- display a giant cross in the middle of the screen
- half-blind people compliant
- Adapt to the resolution even if the screen size if not the size
defined in the orthogonal matrix

=> Need to adapt to the size of the input image
temp commit

- need to fuse mousevenhandler with fps manipulator, otherwise the
objects will keep on lagging behind.
Merge branch 'fps-manipulator' into gravity-gun

Conflicts:
	MoonBase/src/application.cpp
fixed merge issues

- fixed some issues with the merging
hard grabbing
soft grabbing

- partially mimicking the gravity gun effect.
Merge branch 'gravity-gun'
smooth aligning

- smooth aligning when closing in on reference object. Alignment is
done trying to only rotate the necessary for the bounding boxes to be
joinable
Merge branch 'align-behavior'