Make Vec2D immutable
Cast elements on instantiation not on retrieval
Update Utils::Direction to work with the immutable Utils::Vec2D
Update Utils::Velocity to work with the immutable Utils::Vec2D
Update Renderers::LoopingScene to work with the immutable Utils::Vec2D
Rename Utils::Vec2D to Utils::Vector since I don't have Vec3D
Make the Utils::Velocity objects immutable