Optimize ABM.Patches.diffuse a bit

`null` is already the default for missing arguments so the generated code is a silly
```
if (c == null) {
  c = null;
}
```
Moving the `if` out of the loop makes it so it only needs to be done once instead of on each iteration of the loop.