Improve support for SAPI

Voices now belong to an 'engine' rather than a 'vendor'. This move facilitates using SAPI for end users because 'sapi' will always be the name of the engine, whereas vendors are often quite random. On the other hand, it makes it more difficult to share voices' characteristics between different engines.
This branch also fixes some bugs in the SAPI adapter (it is the only recent branch in which SAPI has been fully tested).