Redid camera handling

Started form scratch, camera is handled much more simply