Changed root to WeakRef, added documentation

Per https://github.com/motion-kit/motion-kit/issues/37#issuecomment-46088162.
I tested and `WeakRef.new(nil)` returns `nil`, so we're good in that case.