Fix an ipython plugin reconnecting issue

with requireJS, loading module (JS file) will only run the code in the file the first time. We can no longer rely on reloading file to reset variables.

Also, use bkHelper.fcall to make async func call instead of setTimeout