Change the PPU register engines to use the proper behaviour
as described by loopy and documented in the nesdev wiki
(https://www.nesdev.org/wiki/PPU_scrolling) <- here
Thus, ppu.address and ppu.scroll become obsolete and replace
with ppu.tReg and ppu.vReg that contain both, but in different
moments in time, we sometimes sync t -> v at certain triggers.
Basically we work with t and read from v, and sync some parts
between them when neccesary, loopy does a great job at documenting
this.
!!! PPU.ADDRESS and PPU.SCROLL ARE NOW OBSOLETE, WILL BE RM'D
Did a bunch of small fixes to the code architecture,
most notably wrote the NMI function for the CPU and
actually docked the ppu files to the rest of the project.
The PPU currently does nothing but process some registers
in a basic sense.
I (hopefully along with rendev) will start work on the
background rendering soon, I also need to fix the registers
from their current makeshift solutions to the correct loopy
ones, lots of work to be done *sigh*, but the future does
seem bright.