[DNM] Research and circuit boards refactoring and improvements

This became a bigger thing so read the commit messages for details.

- [x] Rewrite worst parts of research console code ([material ejection](https://i.imgur.com/R7M0nFn.png) specifically)
- [x] Better and more consistent [formatting](https://i.imgur.com/6rmAZ1E.png) for research console
- [x] Add a menu to research console that lists all current research and their description ([screenshot](https://i.imgur.com/9n7QPAK.png))
- [x] Normalizing circuit board and research names
- [ ] Proper capitalization of said names
- [x] Better system for assigning names to circuitboards
- [ ] Move circuitboards to a single place
- [x] Make research design names and description (optionally) dynamically assigned
- [ ] Finish restructuring research designs
And the rest.