ready to merge with dev
implemented heap manager: umalloc, ufree, kmalloc, kfree
fixed relocation bug using linker script
hw_handlers run from high vector table wo any offset
breaks some uart functionality after boot, using virtual uart anyways
need some way to get parsed args in main