DeepClean -- self-supervised artefact rejection for intensive care waveform data using generative deep learning