Split world update into preUpdate and update.

This allows moving the state.update() call to before world.update(),
meaning results of collisions checked in the state are available to
objects in their own update().
Merge pull request #254 from cocoademon/update_reorder

Split world update into preUpdate and update.