doc: add detailed scheduler documentation

No, it doesn't. Preemptive multithreading is uses ticks to periodically switch the threads.
Our scheduler can preempt threads, that doesn't make it *preemptive*.
We feature cooperative multithreading.