Differentiable Logic Cellular Automata: From Game of Life to Pattern Generation