improved matching algorithm

- handle growing matching area together with unchanged screenshots
- search whole area every 6 seconds
566adbe fix was not complete. 
I have needle for login prompt, far from the original position, with disabled blinking cursor, timeout 1000, the login prompt appears early (within 30 seconds). Then it end on standstill after 300 second, ends the loop on $n = $timeout; line and the last search is performed with search ratio around 0.3.

0.02 is just a small area for needles matching at the original position - the common case.
6 seconds is chosen to catch boot menus etc. with timeout 10 seconds. func($timeout) IMHO does not make sense, but it could be func(machine load)