Refactor UI XAML to a UserControl and clean up UI classes

Moved everything from Window XAML like `BF3Window` and `BF4Window` to reusable UserControl `UIControl` This allows a cleanup in the other UI classes so that there is less duplicate code. UICore now takes `BattlelogBase` and `Config` directly as a parameter rather than from the mainWindow object. `BattlelogBase` and `Config` have little to do with the window. Thus, while before there would be multiple ways to access the `config` object and `battlelog` object, i.e. from both `UICore` and `UIWindow`, they are now only accessible from the `UICore` object of the application. Likewise, controls are now only accessible through the `MainControl` class. `UIWindow` is now solely for the actual window (chrome, resizing, position, state) of the application, rather than any UI elements _contained in_ the window