implement unit breathing

possible side effect of this change:
becaues we are now calling RNG multiple times per frame at depths greater
than 0, any kind of RNG-related reproducability goes rightout the window.
this is a potentially bad thing.

also this will probably need adjustment for varying unit heights.