add semaphore support to vsfsm, configurable by VSFSM_CFG_SEM_EN