Implement heap allocation

Basic kernel heap allocation, heavily influenced by this blog: https://os.phil-opp.com/#memory-management. The most exciting possibility this (immediately) enables is using the tracing crate in the kernel.

Created by  finchie  on December 29, 2023
SCGTKLIL3L6BITCIP2PGKSCJD2XQ2LKQWN63SWQXSELVGVZYMI3AC
Change contents