Use a Behavior again to smooth camera movement

Using a Behavior is better for CPU usage and results in a smoother
camera because the updates are better synced to the frames compared to a
fast timer.

In order to be able to reset the smooth movement when changing maps, the
smoothing is wrapped into a component so that it can be re-created,
starting again from the current player position.