Basic multitasking implementation.

 * added multitasking feature to Rakefile;
 * simpler debugging with gdb 'reload' command;
 * applications are now rlibs. This breaks all the demo apps other than
   app_sched;
 * added a basic not-really-round-robin task scheduler;
 * added app_sched multitasking demo;
 * cleaned up ISR assembly code;
 * systick irq can now be disabled and enabled to allow critical
   sections;
 * added scheduler ISRs for systick, pendsv and svcall;
 * syscall interface is implemented in os::syscall;
 * added hal::stack to provide methods to manipulate stack-related data;
   the definition of __STACK_LIMIT moved to linker script;
 * added lib/app.rs, the final linking object that re-exports required
   symbols from libzinc.
Fixed most of the demo apps. app_systick is still broken.
Multitasking code is now optional.