Implemented an optimized 3-key map as well as a back-door into the
underlying elements of a list as part of that optimization (use with
care). Also copied the map unit tests for map3 and profiled things until
the runtime of map3 became somewhat reasonable.

-Peter Mawhorter
About 2/3 of the way through a major major changeset, but want to commit
now. More changes and debugging are still to come, but this revision
kicks off a couple of changes. First, the big move from a static frame
to a dynamic map of loaded chunks. Along with that, the concept of a
chunk approximation and multi-scale rendering (I'm looking forward to
seeing how far I'll be able to render things). This requires updates
throughout the codebase, especially because it gets rid of the concept
of a frame which was previously so central.

-Peter Mawhorter