Heap implemented

It's a simple way of heap management. However, it's necessary for
later work, all the thread contexts are based on heap.

	modified:   include/common.h
	modified:   include/list.h
	new file:   include/sys/init.h
	modified:   include/types.h
	modified:   kernel/Makefile
	new file:   kernel/heap.c
	modified:   kernel/main.c