Add basic multithreading support using OpenMP