Do not create screens from DllMain
There's a lot of operations that aren't allowed from DllMain, so we shouldn't create a driver-screen from there. So let's instead delay this until it's needed from a normal function call.
See https://docs.microsoft.com/en-us/windows/win32/dlls/dllmain for details about what is allowed and isn't from DllMain.
While we're at it, let's apply a few smaller cleanups as well.