Synced season changes to midnight instead of dawn.
System now uses midnight events, instead of checking every frame
dayChanged event removed -> use midnight instead
removed season and daychange components -> use worldComponent instead
SeasonChangedEvent is now called OnSeasonChangeEvent