ZKL: Let ZKL wait for rapid list first before downloading ZK (for first time user)

The code that download ZK for first time user (in MainWindow.cs) will fail (no download happen) if rapid list is not ready soon enough when the code is called.

So I add an Event (called "MasterManifestDownloaded") that notify a static function in Program.cs (called "GetZK") to start download after rapid is finish loading.

I also let it wait for MainWindow to render before downloading, because if download start too soon, the UI will not show download progress in Linux (UI broke, but download keep running)