Added fallback for cv2 import in windows since it's not that easy to
get if you aren't familiar with opencv in windows.
Specified and implemented basic template creation and storage based on an
initial image and mask. To keep it simple, the templates are fixed for now.
Just create a new ImageFinder to change templates.
Also to keep it simple and fast, the mask is applied directly to the
template at creation by filling white noise into the masked areas.
Added manual visual confirmation for template behavior to allow for a
double check of the template creation process.
changed from __init__ specifying results to just unit test type test that
it calls _standardize for both image and mask and _mask for the combination.
updated factory methods to produce grayscale images correctly.
clarified storage of templates when no sizes provided.
cleanup
align __init__ with recent specification changes.
Specified and implemented main locate_in functionality that analyzes
provided scenes with the internal templates.
made logic of __init__ a little easier to understand.
had _standardize make a copy of img when it is already in standard format.
Otherwise it will end up getting modified.
Replaced naive noise filling in _mask with something much faster.
No change to specification.
Separated standardization of images and masks so the mask can be prepared
one time here rather than converting it when used every time.
Updated specifications to cover the split.