Scheduler Fixes

Added -g to all build lines, use obj/kernel.elf for it since its
stripped out in out/kernel.elf. Modified task switching, getting there -
does everything except restore execution position (EIP) when returning
to a thread.