Split AxisAlignedBoundingBox'd half_size from a Point into 2 numbers

This prevents Point objects from unnecessarily needing to be created to
construct an AxisAlignedBoundingBox.
Split AxisAlignedBoundingBox's center from a Point into 2 numbers

This prevents needing to unnecessarily create Points to create an AABB.
Changed the mouse position from a Point to 2 numbers

This is part of an attempt to not create as many Point objects.