Re organisation (separate emulators into modules)

This is still a WIP and not ready for merging yet. Wanted to get your feedback.

This makes it much easier to just drop in new emulators. no need for re-numbering etc. because number ids could change, I will also add ability to build via retro_packages via the rp_module_id which is used in the function names.