Patcher: always restore wrapped function
(part 1 for #46, enhancement for #45)
Patcher: remove overrided toString()/toSource()
Also "unload" listener, added in #45, seems to be useless
(part 2 for #46)
Patcher: move into separate module
Benefits: better incapsulation and only this module will be leaked in case of third-party wrappers
(part 3 for #46)
Make patcher module universal
(part 4 for #46)