Threading api with uCOS-III implementation

The API is mostly based on what @antoinealb did in PR #23.
The biggest difference is, that the thread's data structure `os_thread_t` can be statically allocated, which must be passed to `os_thread_create()` as an additional argument. (If I remember correctly, we discussed the malloc-topic already)
It also implements newlib's malloc locking and switches newlib's context on every thread context switch. (This still needs to be tested)