Refactor Minefield and Square

Most of the logic has been moved into Square
Method name change of restart() to reset()