Changed the name of the option for using the default audio device
to "Default" for consistency with english windows. Also changed
the "" value to string.Empty for consistency with the Frameworks
treatment of this special value.
The existing OptionDropdown only supported enums and was thus renamed
to OptionEnumDropDown. A new OptionDropdown has been created in its
place to allow binding to arbitrary values, with a set of user-provided
items.
Since the DropDownMenu in the framework has changed it was necessary
to update the GetDropDownItems override of OsuDropDownMenu to
accomodate the new structure of the framework.
When logging in or out the size of the login button would not correctly update,
resulting in a messed-up flow of toolbar buttons. This branch fixes the problem
by avoiding an invalidation-chain-breaking override of Size. Instead, the loginOverlay
bypasses auto sizing by using a new framework feature.