Added snapChildToCenter and modified addAtCenter

`snapChild` snaps to the anchor point; this is problematic when the
anchor point is at top-left (or any non-center location) because it
doesn't center the object, and thus `addAtCenter` is misleading. Now,
`snapChildToCenter` sets the child's anchor point to the center of the
parent (the `this`), and `addAtCenter` calls `snapChildToCenter` instead
of `snapChild`.