Refactored again.
Added base class and interface for a third person camera. Will port the other cameras over to that shortly.
Removed leasing due to the complexity it was adding to the code.
Sorted out the code to restrict the camera to a play surface while panning.