allow using the same callback for different addresses.

Hello,

I was attempting to use different addresses but with the same callback.  This is disallowed, due to the fact that the callback is the key to the fnWrapperMap.  In my mind it makes sense to use the address, as that should be more unique in almost all cases. 

If i have missed something, please let me know. I have run the tests and they all pass - since i didn't add additional functionality I didn't add a new unit test.  I can if need be.  

Thanks for the cool project!
Where is the benefit of this `FunctionHolder`? The test would behave the same with `var funcOne = function () {…}` and so on..