sched: core: added dynamic priorities

Added dynamic priorities to increase the likely hood of fair scheduling.
Everytime a task is succesfully switched, the dynamic priorities of
other tasks get incremented. After a while, the priorities of verry low
priority threads will be really high, to ensure CPU time.

Also fixed some build errors with preemption disabled.

Signed-off-by: Michel Megens <dev@michelmegens.net>