added camera entity and implemented different camera movement modes such as follow and spring follow