Add overwriteChainableMethod utility (for #215)

Here you go. I ended up storing the original method and chaining behavior in a global object, which makes me feel a bit dirty, but there it is. Not sure how else this could be done without significantly modifying the plugin API.