gol.js: Optimise neighbouring cell discovery

By setting the neighbouring cells as an array property of each Cell
object, we remove the need to create the neighbours array for each cell
on every update.
gol.js: Optimise the cell drawing
gol.js: Reduce frame rate of simulation