Prevent wacky scents by using a more stable algorithm for scent diffusion.

A new algorithm that has dampening and is more sane to read.

Full appreciation to @phaethonfire for his better and faster scent with a more efficient solution. This follows on from his work with an improved diffusion algorithm that takes into account the player's own scent and modifies it accordingly.

The player will lose scent and gain it from the environment, whilst simultaneously getting more smelly the more they move. It's been tested and normally the player's scent hovers around the normal value. However, in small enclosed spaces the smell will start to congest, although it will no longer reciprocally spike into insane values.

All this means is it's more realistic and feels a lot better, although @phaethonfire's implementation was a significant improvement over the old.