Adjust MAX_LENGTH with BACK_ON_HOME

pos 0 take in account BACK_ON_HOME but this was not reported to
MAX_LENGTH so if BACK_ON_HOME has not null value MAX_LENGTH is over
sized
Fix/Modify Clean Nozzle function

Take in account the ENDSTOP_Y_BACK_ON_HOME parameter to clean nozzle -
mainly for davinci 2.0
Add a parameter to ignore the restoring position if needed
Modify Clean Nozzle function in menu

Add temperature management in clean nozzle function from menu by adding
new event loop allowing key usage and cancelation function without
changing the current logic of main loop, cancelation screen is fully
customizable so it can be reused in others functions.
Now Clean Nozzle can be stopped at any steps of the action (or resume)
giving more control to end user.
Cancel function use Back key to be launched, then Left, Light, Ok keys
to choose what to do.
Clean Nozzle keep extruder hot until end user decide action is done by
pushing Ok key.