Update scenelets to use finish()

This simplifies the update logic for operations requiring finalization
(tweens, camera pans, etc.).
Fix Scenario tween scenelet regression

Tweens with duration=0 were broken, tweened value could up as infinity
or NaN due to division by zero.  Normally this wouldn't be a big deal
since the finisher would immediately set the final values, but it was
causing crashes when tweening color objects due to Sphere's sanity
checks.
Restore fork functionality in Scenario

The recent refactoring to Scenario's codebase had broken the forking
functionality, preventing anything in a fork from running and worse,
preventing the scene from ever finishing. As is typical, the fix
required a trivial edit to a single line of code.