CMS-4589 Introduce FileUploader

- created FileUploader
- refactored events
- refactored ImageUploader to extend FileUploader
- updated usages throughout the app