general refactor

board class now generalized, used by game_state
ai uses game_state
better isolation and removal of dependencies in all classes