Moves event rendering logic into a dedicated EventRenderer class that uses a strategy pattern for different calendar types.
The rendering is now triggered by `GRID_RENDERED` and `CONTAINER_READY_FOR_EVENTS` events, emitted by the GridManager and NavigationManager respectively.
This change decouples the CalendarManager from direct event rendering and allows for more flexible and efficient event updates. The EventManager now has a method to fetch events for a given time period.
Removes direct calls to event rendering from CalendarManager. Improves animation transitions by using pre-rendered containers in the NavigationManager.
Refactors grid navigation to improve the animation flow.
Removes the immediate clearing of events to prevent visual glitches during the slide animation. Instead, events are now rendered directly into the new container without clearing. This change ensures a smoother transition between grids.
Also, cleans up old grid elements after the animation completes, reducing DOM clutter.