The general idea is that we will have 2 cameras total, one for 2d and
one for 3d. Start with 2d and switch to 3d. Each camera will be marked
with it's state, and there will be a system which listens for some event
(or resource update) to change the camera.