Create a simple editor application.
editor: use GtkHeaderBar if available
Create a cainteoir_audio_data Gtk+ class.
cainteoir_audio_data: add a get frequency api
cainteoir_audio_data: add a get sample count api
cainteoir_audio_data: add a get duration api
cainteoir_audio_data: add a get s16 samples api
Create a cainteoir_waveform_view Gtk+ class.
cainteoir_waveform_view: add a get/set data api
cainteoir_waveform_view: create a simple waveform visualizer
cainteoir_waveform_view: create a more uniform visualization
cainteoir_waveform_view: add get/set window size

Drawing each sample is a performance drain, causing the draw operation
to be slow.

This change allows a configurable window size (defaulting to 16) that
takes the maximum of the samples in that window.
cainteoir_waveform_view: add a get/set maximum height api
cainteoir_waveform_view: add a get/set view duration api
cainteoir_waveform_view: implement GrkScrollable
cainteoir_waveform_view: don't fail when no audio data is set