https://medium.com/mop-developers/image-processing-in-go-part-2-using-goroutines-and-channels-to-parallelise-things-73bdc9a03db5