Assignment and equality operators, swap

Wanted to make BoundingBox a little more robust, so added assignment
operator and equality/inequality as well as an implementastion of swap.
Got rid of Vector2D, replaced with Vector2<T>

Updated references, code still in flux for cleanup.