adas fix

- lowered memory usage (now the train use ~3x less memory)
- improved speed (removed some bottlenecks and added fast_log)
- added support to grayscale images
- the LUV features are not computed if the image is grayscale (leads to
an improved detection rate)
- added various parameters (limit_ps, limit_bg, alpha, slidingStep,
is_grayscale)
- added detect() function for a better control of the resize factor
isn't this 'one-off' ? only the last-last-to-next has a valid next.

shouldn't it be : i<(int)visited.size()-1 ?