I object to making the DLL names global defines. The DLL names are part of the ABI, and even if we are interested in making KFW more OEMable we are certainly not interested in ABI divergence. I'm not sure how I feel about making the registry keys easy to change. The rest of the changes seem reasonable at least to me.