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.  
I could combine the two updates, and just change where its registered... I think that would be a good solution.