Support loading custom platforms, components etc. through setuptools entrypoints

Currently custom components need to be placed into a “rigid” directory structure which (IMO) makes development more cumbersome than necessary.

I propose to additionally allow platforms, entities, components, etc. to be loaded through setuptools entrypoints. This would enable distributing additional components etc. as separate python packages rather than “bundles of files”.

There are some design decisions that would need to be considered before implementation could begin, e.g. if there should be one or multiple entry points for the various types of additions, if new core platforms should be able to defined via an entry point plugin, etc.

I would be willing to work on this If there is any interest.