api/waveform: use new mdlayher/waveform API to allow for one waveform values computation, and then full customization with cached values from then on