As legacy BIOS isn't as straightforward to develop using a modern
system, modern emulators/VMs and virtual machine firmware, it was
decided to start work on an UEFI version of the Nightloader.
This commit leaves the not-yet boot-capable, but as far as it's
there already assembling and working legacy BIOS code behind for
later work on this edition.
With this change, the driver's setup function only has to be added
to the 'driver_init_functions'-array and it will be called once
'setup_drivers' is called.
The setup_drivers routine existed locally for some time now, so now
it also exists in the repository. It has gone through two iterations:
1. The drivers are all listed in a null-terminated array of function
pointers to initialization functions (this didn't work and the time
for debugging just wasn't there).
2. All drivers (currently, only the PCI driver, because that's the
only one that exists) are initialized after each other; their
initialization functions are called manually.
It might be possible that the bug from the first iteration was due to
the memory space being offset by 128 or 256 bytes; it might be useful
to use that concept again because then, it will be easier to add new
drivers. That's not of high importance now, though.