The application launch screen.
Inheritance: UIViewController
        //
        // This method is invoked when the application has loaded and is ready to run. In this
        // method you should instantiate the window, load the UI into it and then make the window
        // visible.
        //
        // You have 17 seconds to return from this method, or iOS will terminate your application.
        //
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            this.imageDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "..", FolderNameLibrary, FolderNameImageData);
            this.masterImagePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            this.versionDataFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), VersionFileName);

            this.toolboxLayoutManager = new ToolboxLayoutManager();

            this.CreateDirectoryStructure();

            this.window = new UIWindow(UIScreen.MainScreen.Bounds);

            var launchScreen = new LaunchScreen();
            if (File.Exists(versionDataFilePath))
            {
                launchScreen.AllowUserExit = true;
            }

            launchScreen.LaunchScreenComplete += (sender, e) => {
                this.LaunchHomeScreen();
            };

            this.window.RootViewController = launchScreen;
            this.window.MakeKeyAndVisible();

            return true;
        }