- in sprite::shape's go precheck stage, itll tell stuff to move. even if there are other
  conflicts later. baad.

- game loop so scheduling things can be nicer... still hacky now

- a smooth 2D game engine will be tough to impossible with curses.. no keypress/keyrelease
  events

- Sprite::Shape's movement routines now can be refactored.. also, they're MESSY. get some
  encapsulation plz.

- really smart diffusion.. when an agent blocks anothers scent, update appropriately and
  efficently



* main roguelike stuff (BDSM, cool reaction objects, the default actions, combat)
* expand to GUI
* more physical simulation stuff
  * projectiles, cogs, switches
  * generic forces/gravity
  * game tick main loops


- generate an ascii art n-gon (n>3 and n%2==0) of given radius

ARGH. octagon of 2 blows up. normal hall doesnt fit. hrm. good enough...

- animated gear (connect routines, gear->rotate) 
- dots revolving around a wheel
- waterwheel

--- transferring agents in and out of blobs
--- agents inside blob doing stuff (more efficently)
--- agents inside blob disappearing ^^
--- have a concept of the Void where objects can change form without boundary limits
--- omnomnom'ing agents relative to an agent inside

- messy:
  - Toy::Tooth's align()
  - everything in Toy::Gear's rotate()
