Support intermediate page table sharing
Similar to #147, sharing intermediate page tables could allow a significant performance boost for scheme calls with very large buffers, without the pages themselves requiring huge page granularity. Since demand paging was introduced, all allocatable frames have an available currently two-word PageInfo
where all bits except one, can be used freely (depends on p2frame size, if e.g. a 2 MiB p2frame is marked "allocated", then the 32 KiB p2frames except the first, within that 2 MiB p2frame, will be ignored, and can use all bits). This can also be used, on architectures like x86 where intermediate page tables have permission bits that will be ANDed or ORed with leaf page tables to calculate the effective permissions, to implement O(1) forks, w.r.t. the amount of memory! However, it might increase page fault latency if it also needs to check if intermediate tables are shared, before checking the leaf pages.