Basic solver working, more testing needed, and win / bad board detection