It's a pretty subtle blur; maybe you'd have to add ten shifted versions of the costume (writing a little procedure to help) to get it to look how you want.
but with 10 shifted versions on each side of the central one, created with a helper procedure rather than by making expressions by hand as I've done here, and also being more efficient by, e.g., making the last one by applying ALL BUT FIRST OF once to the next-to-last one, rather than by calling ALL BUT FIRST OF twice on the original costume. And by computing RESHAPE 0 TO (4) only once and storing it in a script variable (or even in a global variable, if you're going to do this to more than one costume).
And if you want to do a really good job, take the result of this horizontal blurring, exchange rows and columns, do this computation again, then exchange rows and columns back, to get a vertical blurring. (As that article says, one big advantage of a Gaussian weighting is that doing horizontal and vertical blurring in two separate steps as I'm suggesting is mathematically equivalent to doing a two-dimensional blurring all at once, which is what you really want but is too complicated to compute. So instead of my linear weightings 1, 0.9, 0.8 you could look up the actual correct values for a Gaussian distribution, which are given in the article.)
I'm not entirely convinced that rewriting it in JS would do better at speeding it up than coding the optimizations I suggested. SInce hyperblocks, we are really pushing JS speed.