Changed ladder bounds from int to float

This reduces the need to copy-construct or convert BoundingBox<int> to
BoundingBox<float>.
Changed ladder rendering slightly
Fixed unnecessary copying of BoundingBox

MIssing a &!
Got rid of unnecessary copying for GOs

The copy constructors were copying data twice. Moved copying up into
the Entity copy constructor so that it gets handled in the right place.
Added ceil/floor methods to Vector2
Clean up: Entity

Removed unneeded includes, cleaned up some of the code based on changes
to Vector and pass-by-reference.
Clean up: Enemy

Using methods rather than touching body directly.