WPF: Added custom XAML style for combo boxes.

- Can now delete peak files in General Preferences
- Added RefreshAudioDevices to IAudioPreferencesView
- Updated DeviceHelper to split device detection into three methods
(separate ASIO and WASAPI)
WPF: Finished custom combo box appearance in App.xaml.
WPF: Replaced sliders with custom track bars with themes in PreferencesWindow.

- Added IControlTheme and TrackBarTheme for TrackBarControl. The
controls will eventually migrate to theme objects.
- Also implemented BufferSize/UpdatePeriod in AudioPreferences.
WPF: Implemented everything in Audio Preferences, plus lots of bug fixes.

- AudioPreferences: Output device and sample rate can now be changed,
and this required many bug fixes throughout presenters and services to
work.
- MainWindow: Fixed several bugs; disabled all controls when the player
is stopped.
- Added Reset method to OutputMeterControl, WaveFormControl and
WaveFormScaleControl.
- Fixed bug in WaveFormScaleControl where the scale would not be updated
when switching to a new song.
- Fixed margins issue in ImageButton.
- Fixed bug in Player where the timer would not be stopped when stopping
the player.
WPF: Fixed bug where the app would not close correctly when multiple windows were opened.

- Also should have fixed build on iOS, OSX, Linux and Android.
WPF: Fixed bugs in LibraryPreferences.

- LibraryPreferences: Fixed several bugs such as library folders not
being shown, Update Library panel now being shown in MainWindow when
clicking on the Update Library button.
- Changed the definition of ILibraryPreferencesView for
OnAddFolder/OnRemoveFolders.
- MainWindow: Can now hide the UpdateLibrary panel.
- Should have fixed build on iOS, Android, Linux and OSX.