Revert "Player: Amalgamate and simplify SwitchTo and JumpToProgram"

This breaks seek when performed near the end of a program and makes the frontend unresponsive for several seconds when reaching the end of the current program

This reverts commit cc927f687995a9620de581894a68935b0780b299.

(cherry picked from commit 2bdb7cc5f5e5918cbdd19dcbb4902bec6d028ece)