The member variables in the Entity class are now protected so that derived
classes can access them without having to use accessor functions
The Entity constructor takes a const-reference to the vector.
The entity class no longer contains a smart pointer to a shape because I
was having trouble setting the size of it.