Added Camera class and some refactoring in Vector3