DAC Support (Sync + Async) for both D5x and D11/D21
Summary
Adds DAC support for D5x and D11
Both implementations contain oneshot write functions (Just write a voltage and keep the DAC output going), and a DMA functions (Both blocking and async) for writing buffers to the DAC.
It is also possible to monitor the DAC output voltage via the ADC now with Adc::read_dac0_output (Both sync and async functions provided)
Closes #696 and #39
@rnd-ash I see that you've now taken full ownership of the Pclk, which is great. Can you change the name of the release method to free? I think this name should be consistent across the HAL and numerous other peripherals already use free (e.g. Adc, Delay, Qspi), so I think it makes sense to stick with that.
@kyp44 method name should be consistent now