Mapping : replace event catch by a condition and add limit of the map

Several changes here :
* the MappingStart event is replaced by a condition and works as follow
-> if we enter in a new cell, we are not ready to measure something
(ready=FALSE)
-> at each call of Mapping, we check if it's ready ; if not we first
check if now we are in the right square and update the value of ready if
needed, and then we return.

* We now know exactly if a cell is outside the map, so we can detect a
problem, and more important never overwrite other values. Furthermore
the MainController can see if he can't decide to go in a cell, because
it's out of the map. Normally, with a closed labyrinth, it's not a
problem.

* Thanks to the previous changement with which the the min and max
values for both x and y are stored, it's possible to display the map in
the right order, i.e. display the south eastern cell in the corner of
the screen.

* Last minor fix, int becomes U8 for some functions
Main step doesn't choose to go to "out of the map" cells
Localization sent the CellCenter event only once by cell

(+ a minor fix in init_localization)
This changes also the MainController behaviour at initialization. The
localization begins also later, for the mapping to have the time to
initialize values for the first cells. When localization starts, it
sends the CellCenter event to the MainController to wake it up, the
MainController initialize the localization and if the robot is already
in the center, decides what to do next. Otherwise enter in the main loop
and wait for the next CellCenter event.
Turn off the display
Enable the color reader
Merge remote-tracking branch 'origin/crash_fix' into developer

Conflicts:
	main_controller.c
	slam/mapping.c