audiosynth: move buffer mapping and gap handling to baseclass

Map the output buffer writable and pass the mapinfo to the process vmethod. The
process() vmethod will now return FALSE if a GAP buffer should be sent.