This was always haphazard code, but by luck it never triggered before
drawable load until now. With the recently nullability changes, this
would be triggered when `flash` is not yet constructed.
Switching to `AddOnce` seems safer to avoid multiple applications,
regardless.
Seems a lot more reliable, and allows falling back to the "main" video
in cases which didn't support this previously.
A next step may be to allow every screen to support a video based on its
screen name, rather than specifying the local `TourneyVideo` every time.
The old flags used a size of 150x100, while the new assets based on
twemoji use a size of 150x108. Update existing usages to match this new
aspect ratio better.
It has transpired that on filename-case-sensitive filesystems, the
tournament client does not consistently handle custom asset paths.
Videos and mods could only be looked up from `videos` and `mods`
directories (lowercase), while flags could only be looked up from the
`Flags` directory (uppercase).
A complicating circumstance is that default country flags, coming from
osu-resources, also depend on the flag lookup being uppercased.
To attempt to clean up the handling as much as it appears to be
possible, automatically move user-supplied lowercase directories to
uppercase.