rewrote default methods to use parameter rather than instance variable
(should make no difference).
Added Animation class to impworld, almost identical to the one in
funworld, except that most of the methods return void and user-provided
methods are expected to mutate the model.