Encuentra la palabra

Se te presenta una cuadrícula rectangular de letras mayúsculas. Dentro de esta cuadrícula, una palabra objetivo aparece cierto número de veces. La palabra puede estar ubicada horizontalmente de izquierda a derecha o de derecha a izquierda; verticalmente de abajo hacia arriba o de arriba hacia abajo; y diagonalmente de izquierda a derecha hacia abajo, de derecha a izquierda hacia abajo, de derecha a izquierda hacia arriba o de izquierda a derecha hacia arriba.

Escribe una función que reciba dos parámetros:

  1. La cuadrícula rectangular de letras mayúsculas.
  2. La palabra objetivo.

Tu función debe devolver una tupla (count, grid), donde count es el número total de apariciones de la palabra objetivo y grid es la cuadrícula de entrada con cada aparición de la palabra objetivo en minúsculas.

Ejemplos

count_word([
  ["I", "W", "I", "S", "H"],
  ["Z", "H", "S", "I", "W"],
  ["R", "S", "A", "D", "I"],
  ["Z", "I", "R", "E", "S"],
  ["J", "W", "K", "F", "H"]
], "WISH") ➞ (4, [
  ["I", "w", "i", "s", "h"],
  ["Z", "h", "s", "i", "w"],
  ["R", "s", "A", "D", "i"],
  ["Z", "i", "R", "E", "s"],
  ["J", "w", "K", "F", "h"]
 ])

count_word([
  ["M", "I", "W", "S", "W", "I", "I", "M"],
  ["W", "M", "I", "W", "W", "S", "M", "I"],
  ["I", "S", "S", "I", "M", "I", "S", "W"],
  ["S", "W", "I", "M", "W", "M", "W", "S"],
  ["I", "I", "W", "M", "I", "W", "I", "S"],
  ["I", "M", "I", "S", "M", "S", "M", "W"],
  ["W", "W", "S", "M", "W", "I", "S", "I"],
  ["S", "I", "M", "M", "I", "W", "S", "M"]
], "SWIM") ➞ (9, [
  ["m", "i", "w", "s", "W", "I", "I", "m"],
  ["W", "M", "I", "w", "W", "S", "M", "i"],
  ["I", "s", "S", "i", "M", "I", "s", "w"],
  ["s", "w", "i", "m", "W", "M", "w", "s"],
  ["I", "i", "W", "m", "I", "W", "i", "s"],
  ["I", "m", "i", "S", "M", "S", "m", "w"],
  ["W", "w", "S", "M", "W", "I", "S", "i"],
  ["s", "I", "M", "m", "i", "w", "s", "m"]
])

Notas

Las diagonales pueden ser cualquiera en la que quepa la palabra objetivo, no solo la diagonal principal. La palabra objetivo no será un palíndromo.