Nice to see LTemplate in action :-)
You can also use
ImageCrop@Colorize[
sp@"CreateSandpile"[100000],
ColorRules -> {0 -> Black, 1 -> Magenta, 2 -> Red, 3 -> Blue}
]
Since LTemplate works with classes/objects, one could store the state in the object, then have more member functions: one to propagate the model, one to retrieve the current state, and one to reset the state and choose N_size