Fix WeakPtrWrapper. Leave an error to occur if we try to set a pointer
on a rvalue.
Resolve a circular dependency of templates.

BulletMover now stores a pointer on its body.