Implemented a MediaGroupBuilder class in 'aiogram/utils/media_group.py' to help construct media groups. The class supports addition of different media types (audio, photo, video, document) to the media group with a maximum limit of 10 files. The functionality is demonstrated and usage is documented in 'docs/utils/media_group.rst'. Added related test cases in 'tests/test_utils/test_media_group.py'. This is to streamline and simplify the process of media group creation
* Rework middlewares, separate management to `MiddlewareManager` class
* Rework middlewares
* Added changes description for redis
* Added changes description for redis
* Fixed tests with Redis // aioredis replacement
* Changed msg.<html/md>_text attributes behaviour
* Added changelog for spoilers
* Added possibility to get command magic result as handler arguments
* Update API, added some new features
* Fixed unknown chat_action value
* Separate events from dispatcher messages
* Disabled cache for I18n LazyProxy
* Rework events isolation
* Added chat member status changed filter, update Bot API 5.7, other small changes
* Improve exceptions in chat member status filter
* Fixed tests, covered flags and events isolation modules
* Try to fix flake8 unused type ignore
* Fixed linter error
* Cover chat member updated filter
* Cover chat action sender
* Added docs for chat action util
* Try to fix tests for python <= 3.9
* Fixed headers
* Added docs for flags functionality
* Added docs for chat_member_updated filter
* Added change notes
* Update dependencies and fix mypy checks
* Bump version