This PR makes Dashboards **Portable**. Instead of being tightly coupled to the Dashboard App, the Dashboard Container can now be used in any plugin via the **Dashboard Container Renderer** component. The Dashboard Container renderer is one of the first examples of **Experience Building Blocks** in Kibana.
* Move all dashboard inject/extract to be part of embeddable persistable state
* Fixes typescript errors
* Remove comments
* Fixes test
* API Doc changes
* Fix integration tests
* Fix functional testS
* Fix unit tests
* Update Dashboard plugin API to get dashboard embeddable renderer
* Fix Types
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Added example for using dashboard container by value
1.1 Refactored embeddable explorer e2e test to use new example, removed not needed kbn_tp_embeddable_explorer plugin.
For embeddable explorer examples went away from using getFactoryById() to improve type checks
There is new component a replacement for EmbeddableFactoryRenderer with slightly more flexible api: EmbeddableRenderer.
3.1 We can improve it going forward to support more use case