Modular Scanner

First commit for the introduction of modular Scanners. Scanners will become empty frames that can be filled with scanning modules. This will allow reuse of scanner code, easily upgradeable scanners and the health/reagent scanner you always wanted.

Inb4 copy&paste code, yes a lot of the code for the scanner modules is copy and pasted from the "real" scanners, but the intention is to replace them.

Unrelated:
-renamed scanner.dm to detective_scanner.dm to avoid confusion

Implemented:
- 10 modules (using PDA cartridge sprite) :
  - health scanner module (2 versions)
  - virus scanner module (2 versions)
  - blood dna scanner module (2 versions)
  - blood reagent scanner module (3 versions)
  - atmosphere scanner module (Analyzer) (2 versions)
  - fingerprint scanner module (2 versions)
  - fiber scanner module (2 versions)
  - reagent scanner module (2 versions)
  - mining scanner module (2 versions)
  - power scanner module (multitool) (2 versions)

- 7 default scanners and their frames:
  - forensic scanner frame (replaces old forensic scanner) 4 slots
    - fiber
    - fingerprints
    - blood_dna
    - reagent
  - advanced forensic scanner frame 5 slots
    - adds blood_reagent
  - medbay scanner frame  (replaces health analyzer) 2 slots
    - health
    - virus
  - advanced medbay scanner frame 3 slots
    - adds blood_reagent
  - engineering scanner frame  (replaces analyzer) 2 slots
    - power
    - atmos
  - mining scanner frame  (replaces mining scanner) 2 slots
    - mining
    - empty, useful for health module
  - blood scanner frame  (replaces mass spectrometer) 1 slot
    - blood_reagent
- recording and printing like the detective scanner (can be disabled)
- upgrades
- everything added to R&D

ToDo:
- replace existing scanner with modular scanner
- sprites(?)


I'd like to get some feedback on the idea itself and on my implementation.
This is my first feature pr, so please do not just close it, tell me what is wrong and how I can improve it.