supporting destRange

you can now specify destRange as part of Match. This gives a rectangle
region to cut from the video frame to do matching.

if missing, we use the sourceLoc for exact matching.

This is a restricting decision.
fix the logic of sourceLoc and destRange

if sourceLoc is not in value and destRange is not in value:
- do whole screen search for the sig

if sourceLoc is in value and destRange is not:
- do strict comparison at the same location

if sourceLoc is not in value and destRange is specified:
- do template matching in the destRange

if both specified,
- destRange takes priority
Unsuccessful attempt: to skip eyelink calib screens

Eyelink calibration screen takes a long time to process because of the
200 fps screen rate and the constant changes. Tried to speed up but the
logic doesn't really work.

The idea was to skip forward even after a frameChange if the last check
was NoAOI and this check is NoAOI. I want to avoid doing AOIs for every
change. Can't get these to work together. The first logic is risky, too,
ie we can end up skipping useful screen sandwitched between junk
screens.

Need to think more carefully.