keep timeoutId local

@lpender this fixes #5 but it also does some other stuff.

 - switch from `config` object to optional `timeout` parameter
 - switch to local `_timeoutId` instead of attaching to a local config or the jQuery object
 - switch from function expression to named function declaration for nicer stack traces