dynE is closer to working
WIP: add onCreation (incomplete)
make SGState more efficient

previous implementation built up a chain of left-associated list concats.
Since the inputs/outputs are unordered anyway, it's fine to just prepend.
blank out mTrace
addToHeadMap: more useful mTrace
runUpdates: ignore the lock

Going to go back to trying the STM/Fence idea, I think.  Seems easier
than fixing the recursive lock issue.

Maybe what I should really do is make a global event manager.  Input
events get queued in the event manager, and it processes them one at a
time.  I don't like the single bottleneck though.