view: Reimplement Camera and rename it to View in the process.