boot: Put kernel in 0xC0000000 virtual address

Introduce higher half kernel. Enable paging before calling
kernel main C function
boot: Placeholder for 256 table entries, refactoring
kheap: Add trivial heap implementation for kernel allocations