Resolves #2018. Closes #2079.
Reset mouse confine mode on input setting reset hotkey
Improve vector conditional
Give DrawableSlider an accurate position and size
Fix legacy Taiko replays having reversed inputs
Fix sliders never getting a correct lifetime set
Remove null channels from SkinnableSound playable channels
Implement skin support for (most) hitsounds and (osu!) hitcircles
Tidy things up, move logic out of SampleInfo.
Fix migration file case
This was already correct as per osu-stable.
Implement skin import, database and storage
Update framework
Reword instances of "login" to "sign in"
Remove osu! playfield scale from the editor