Injecting code before an application starts with .NET Startup Hooks