Camera controls. More refactoring

Single instances refactored to singletons. Safeguarding purposes.
Mostly finshed up camera controls. Requires final shader step to
complete