Moved code out of main package __init__ and into an easy.py module. The
two main solution functions (for capture and versus) are just imported
into the main package __init__ now.
Cleaned up specifications based on coverage. Some orphaned parts and one
test with a bug that meant it was testing nothing... Bad smell! Need to
redo specifications with some unittest elements to simplify and isolate.
Review of test coverage:
Removed one piece of implementation that was unnecessary and unspecified.
Added one specification that was not specified and needed to be.
Slight change of specification and implementation to make capture and versus
return standard summary objects that can be used in the upcoming GUI.
changed name from data specific to StateInvestigator to just general data
since other parts (UI) need to use the same data.
Capture UI working. No specification / tests whatsoever.
edge-case / bugfix: a misidentified game (whatever is on your desktop when
the screenshot is taken) will usually be caught by failing tile identification
but a dark screen will be mistaken for a blank board.

Added a specification that empty (for capture) and any blanks (for versus)
should be considered as failed investigations.
made Tile equality a little more robust with a try/except.
tweak Screen investigation parameters.
Converted UI to multiprocessing instead of threading for the ability
to terminate simulations without needing to modify the code to check for
thread stop flags, etc.

Currently basically ignore errors in the analysis process but left the debug
code in case that becomes an issue.