add GameViewController, continue extracting methods into BoardAnalyzer, add tests