I implemented wrapping and it works now for all my tests. I will
now commit and request a pull.
To test it yourself, in the dots.py demo simply set dotLife=-1.
I don't think I nested the helper functions with correct style. I'm
sure there are also some other style violations due to my ignorance.
It wraps points one by one rather than being vectorized, so there must
be a speed penalty. I don't know that it can be vectorized. If it
can't and the speed penalty is judged significant, then we might need
to add a boolean parameter to dotStim to deactivate wrapping. However
it seems to work fast enough in my (limited) testing.
Fixed special cases of dir=90, dir=270 of wrapping dot field