made TEG generate power from heat transferred again, restructed TEG and circulator code to be smaller and cleaner, added an "overload" to TEGs where they spark + power output drops if power output exceeds 250k

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
miscellaneous rusk tweaks and fixes including: resolved assembly sprite hiding under things, resolved compressor not producing assemblies with the right amount of matter, made injectors able to be rotated, removed cooldown from injector to port assembly swap, made ejected/created assemblies not appear in the middle of walls (being created from wall-mounted machinery),

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
rewrote fusion reactions to use datums instead of a switch statement (with reaction recipes stored in the master controller for debug editing), restructured fusion recipes to be more balanced + gameplay-centric, rewrote fusion reactions to use (mostly) fictional elements, miscellaneous fixes and cleanup

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
changes to make testing easier: machinery starts welded+bolted, split up the space loop into a bunch of small ones, added a button for the core shutters

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
Merge branch 'master' of https://github.com/Baystation12/Baystation12 into rust
Merge branch 'bleeding-edge-freeze' of https://github.com/Baystation12/Baystation12 into rust
Merge pull request #2812 from caelaislinn/rust

RUST updates