Update world reference

This fixes a bug where script-initiated world changes wouldn't cause the
camera to instantly focus on the new area.
Move camera into core