refactoring
Spots now remember their positions in database after being laid-out.

I'm not sure why it seemed to be working before?
Keep the selection selected when using the menus.
Correct the arguments passed to the time_listeners.

Bound listeners were being triggered correctly but then proceeded to do nothing because they were operating on bad parameters.
new caching method; fix imports
save the spot's position correctly
docstrings
Unused graphics

I want to redo pixel city at some point. This attempt turned out to be misaligned.
new icons from Freepik free graphic resources http://www.flaticon.com/authors/freepik -- license CC BY 3.0
This should have been in the earlier commit that fixed the time dispatcher.

New functions in util.py, fillcache and fire_time_travel_triggers, to poll mappings between two times and fire a dispatcher for the things that differ between them. Currently slow because it copies JSONWrapper objects into plain Python objects.
refactoring
Speed up fire_time_travel_triggers by assuming that, if a key is already cached at the current branch and tick, the current value for it is cached.
redo caching
hey now you can retrieve values from the cache and not just trigger stuff with them
Hack the cache so it performs well both in and out of ELiDE.