PIM-3037 Load dashboard widgets asynchronously

| Q                    | A
| -------------------- | ---
| Bug fix?             |
| New feature?         |
| BC breaks?           |
| CI currently passes? |
| Tests pass?          |
| Scenarios pass?      |
| Checkstyle issues?*  |
| PMD issues?**        |
| Changelog updated?   |
| Fixed tickets        |
| DB schema updated?   |
| Migration script?    |
| Doc PR               |
Maybe the default data structure for a widget->getData() response could be :
- type: 'json', 'html', ...
- data: myData

And the front could simply render it (if its json) or copy it in the dom (if its html)

As a developer/integrator, I can provide a fully rendered html widget or a json which will be rendered by the front. If we do that, we can simply use our current widgets and migrate them to full front after without bothering our integrators.