Move model functionality out of boardpanel.py into a new class, Board, so we can more easily add commandline driven tests in the future.