Add AI functions and update actions
Add AI functions and update actions

- Add constants for game mode( vs human or computer etc.)
- Add game mode and AI data to game state
- Add new actions handling and update old one
  - Update GRID_CHANGED to PLAYER_MOVE
  - Add, COMPUTER_MOVE, SET_GAME_MODE and RESET_GAME
  - Now RESET_GAME handles reseting game state instead of SET_CURRENT_SCREEN action
  - In COMPUTER_MOVE two possible scenarios
    1. Make random move
    2. Make best possible move
    It’s randomly decided which one will happen, depending on difficulty
- Add minimax algorithm for AI best turn calculation
- Refactor some variable and function names like
  ‘res’ to ‘winner’
  ‘processTurn’ to ‘applyMove’
  and so on

Lingvokot/Tic-Tac-Toe-React,Lingvokot/Tic-Tac-Toe-React,Lingvokot/Tic-Tac-Toe-React