Fix for RunOneFrame() mouse was not updating.

Since RunOneFrame doesn't use the RunLoop, it doesn't get registered in that case.  So I moved the registration to creation, and unregister on dispose.