DMDetector: add 3 more checks to break a stray edge tracer
DMDetector: add 3 more checks to break a stray edge tracer

 * don’t allow too much deviation between current direction and
direction at start of line trace
 * break if we try to add a point to the line that is too far outside
of the code
* first check plausibility of right-line before continuing with
top-line trace

huycn/zxing-cpp,nu-book/zxing-cpp,nu-book/zxing-cpp,nu-book/zxing-cpp,nu-book/zxing-cpp,huycn/zxing-cpp,huycn/zxing-cpp,nu-book/zxing-cpp,nu-book/zxing-cpp,nu-book/zxing-cpp,huycn/zxing-cpp,huycn/zxing-cpp,huycn/zxing-cpp,nu-book/zxing-cpp,huycn/zxing-cpp,huycn/zxing-cpp