Camera: Reworking into an interface class
Camera2D: Changing Camera2D implementation
Add Camera3D class