Device addressing added.

Addresses 0000 - EFFF are main memory.
Address FF00 - FFFF are other devices.

DeviceController manages talking to these devices.
Address FF00 is write only, writes one byte to the terminal.
Address FF01 is read only, reads terminal width
Address FF02 is read only, reads terminal height
Merge branch 'master' into bat_shit_insane
Saving shit .
Merge branch 'cpu' into bat_shit_insane
Removed console.logs. Fixed my test print A. Made terminal not give
interrupts.
Merge branch 'master' into bat_shit_insane

Conflicts:
	source/scripts/host/terminal.ts
	source/scripts/os/kernel.ts
Merge branch 'master' into bat_shit_insane

Conflicts:
	dist/scripts/host/cpu.js
	source/scripts/host/cpu.ts
Merge branch 'master' into bat_shit_insane
All the shit.

Merge branch 'master' into bat_shit_insane

Conflicts:
	dist/scripts/host/cpu.js
	source/scripts/host/cpu.ts
Stdio now works with terminal 100% host based!
Made lots of code nicer.
Removed console.logs
Put in putChar function signature
Created a Shell PCB and updated MemoryManager a lot.
Cleaned up PCB pid shit.
Added getters and setters to PCB
Implemented contextSwitch
Made interrupts use shell pcb
Used liblos for text and made clock faster.
Implemented jump.