Made the kernel heap static as a temporary solution to several problems

* If the kernel heap needed to be expanded and this caused the allocation
  of a new page table, an infinite loop would occur.
* Physical and virtual address alignment did not neccessarily match, a
  problem which prevented allocation of application translation tables,
  which must have an alignment of 8 kb (2 pages).