The component loader is a more generic and extensible mechanism
of loading components; modules are one type of component...
The idea is to make scripts and config files also be components,
loaded by plugins that inherit WpComponentLoader
* Use a more complete API to introspect SPA types
* Avoid the need for the Tables enumeration; the tables
are now registered with a string
* Avoid the need for initialization, work directly on spa_types
and other static data
* Allow working with Object pods that are not Params;
the PARAMS table was previously hardcoded in the pod implementation
* Add a different dynamic type registration system, closer to
how spa type works. The only regression is that we can no longer
register additional custom object fields (custom SPA_PROP_* for example),
but this feature can be re-added later
endpoint.description is now the user-friendly string
we want the endpoint name to be machine-friendly because it's
the identifier that we store in m-session-settings
This is a simpler endpoint implementation that does not require
any node setup. It should be good to use with test nodes (fakesrc/fakesink),
V4L2 nodes, and maybe others in the future.