st3m: gfx: Implement locking using FreeRTOS semaphores
OSD timeout is increased to 500ms, as micropython's GC pauses can easily push it into 100-200ms territory. Aside of that, no functional changes are expected except of making the synchronization actually reliable across cores.
This still doesn't fully fix OSD blinking/corruption issues, but it should be a step in the right direction.