- Add recursive_mutex
- Make all locking primitives and sleep use common overridable wait/notify support to allow RTOS
implementations to replace WFE/SEV with something more appropriate
- Add busy_wait_ms
* use valid_params_if macro for lock assertion
* fixup param checking in pwm.h
* Fix range of fractional divider parameter check in pwm.h
Co-authored-by: Luke Wren <wren6991@gmail.com>