Being clearer about `this` references
Making turtles take IDs in their constructor

Seems more sane and sensical and FP to me.  I don't like the idea of
clients creating turtles, stuffing them into the world, and expecting
the world to insert an ID later.  Instead, they pass the world a
function for creating the turtle, and that function will be called with
and ID when the world creates one.  Magical!
Privatizing member
Making `Updater.updated` take two different parameter lists
Letting tick updates go through `World` again

The situation was quickly appearing to get out of hand.  It's nice to be
able to put isolated functionality/variables/updates into small
subobjects, but it was going to be irritating to have to special-case
`Updater` every time we wanted to add another isolated box of
functionality.  With this, we have a pattern for how to effectively
avoid that, I think.
Spacing and moving code a little
Fixing crazy line
Refactoring turtle pen code into a "pen manager"

It's isolated state that has nothing else to do with what turtles are
doing, so why not?