You would change how your plugin binds and then releases it's attached handlers like so:
- You make a function that is responsible for binding all your initial events (such as the mousemover, etc)
- You make a function that is responsible for unbinding all your initial events.
When you bind to an event, do not use an anoymous function. Instead, define a specific handler for the event. That way, when you attach, you do so like so:
$(document).bind('mousemove', myFuncDelegate);
And then when you need to remove it from scope, you unbind:
$(document).unbind('mousemove', myFuncDelegate);
That way you only unattach your events. See http://api.jquery.com/unbind/ for details.
Simply call your bind method on load, and when you decide to unload it, call the unbind method.