Yay, finally progress.

General:
- it finally launches! (sort of, currently only the emulation core works, other components will be fully implemented later),
- APU, CPU and PPU are now based on ProcessorBase class in order to provide better synchronization between themselves,
- connected processors to the main NES class and to themselves,
- added file logging for CPU and boards (for test ROMs),
- code cleanup and refactoring.

Boards:
- added support for mapper 0 (NROM), 1 (currently only SNROM), 2 (UxROM) and 3 (CNROM).

CPU:
- removed unnecessary decimal versions for SBC and ADC (I don;t know why did I write them, they are not needed for 2A03),
- fixed cycle timing for KIL and NOP #imm opcodes,
- fixed unnecessary read for RMW instructions,
- fixed and rewritten branch code from scratch,
- various other bugifxes.

Input:
- added support for joypads and zapper (currently not implemented in GUI and emulation core).

GUI:
- added very crude GUI, so NESimulare can be finally launched (audio/video rendering and input don't currently work, though).