Added Retainable interface and implemented FunctionProvider's lifecycle with reference counting. Also, the DynamicLinkLibrary interface now extends FunctionProvider, which is convenient in many cases.