(DON'T PUSH) Add fake schedulables
Don't compile struct-offsets, and make sure we generate it first
Keep a reference to the scheduler in the task
Add _get_current_task
Use _get_current_task instead of global_scheduler
Use a constant for the task stack size
Move scheduler_yield into ASM

This way we don't mess with the registers
Always restore EAX from task struct

That way, the kernel may alter the registers if need be
Conditionally compile ADDs if second operand is 0
Use STACK_SIZE in _get_current_task