Make Tweens reusable, miscellaneous cleanup

A Tween object represents an instruction and so should be able to be
reused once finished.  Other than that, just a bunch of visual polishing
and code cleanup.