grtos: fixes, add test
grtos: add loop code generator, reorganize files
grtos: add kernel sources

kernel sources have the following modifications:
  - all filenames prefixed with grtos
  - stack_item_t typedef eliminated, always use uint32_t directly
grtos: change TCB_t typedef to "struct task_control_block" for ivory compat
grtos: add abstract struct task_control_block type ivory module
grtos: change task_create to take stack_start and a size_t length

- can't make stack_end in ivory, plus thats not exactly idiomatic c
grtos: add grtos_syscalls c stub, just defines _exit right now

- will add more if required
- freertos port used a great big file full of syscalls like _sbrk, etc,
  with atmel licensing all over it. should be easy to just add stubs to
  this as we go along rather than re-use a trvial file with a silly license
grtos: kernel module has source dependency on code for whole kernel
grtos: prioritygroup gives the proc of event loop body

- need to pass the proc as a pointer to task create
grtos: task_create exported by kernel, create a task in trivial test