Add vector.hpp to vector.cpp for forward declaration checking
Add friction and gravity scalar caching
Some more unpolished implementation and TODO notes