1. Add fifo queue
2. Add thread poll support / unittest
3. modify mutex to return raw pointer