Various bugfixes

• Fixed freeze bug in SpeakToStream() and SpeakToMemory() when being
called multiple times
• Fixed Reset() setting speaker to default
• Changed all relevant p/invoke functions to return MMRESULT instead of
uint
• Renamed Speaker to TTSVoice for clarity
GetSpeakerParams() & SetSpeakerParams() now work!
Removed unnecessary StructLayout from TTSBufferT
Remarked TTSBufferT as unsafe (thanks Tamschi)
Fixed crash bug with TTS_BUFFER_T

That StructLayout is actually necessary on the class. It will crash
without it.
Update README.md
Fixed SpeakerParams being overridden accidentally
Updated SpeakerParams docs with dv names
Cleaned up engine and terminal code
ReSharpified
Removed buffer fill check because it caused bugs
Fix for the buffer queue build-up

I noticed the buffer queue issue still exists, so I did this quickly with the online editor. (It's untested.)

The BufferRaiiHelper is never boxed (despite the specification saying otherwise), so the using statement really is almost just a shortcut for

ReadyBuffer();
try
{
    ...
}
finally
{
    FreeBuffer();
}

, which should in theory ensure there are never any leaks of pinned memory. There's a small difference in behaviour as the buffer is not kept while unused and a new one is instantiated for every high level call outputting to memory.

This change is under the assumption that the buffer queue is emptied by the time Sync() returns.
I probably chose the using block a bit too large, so feel free to move its end up by a few lines. Freeing the buffer directly after Sync() should work, I think.
Merge pull request #5 from Tamschi/patch-1

Fix for the buffer queue build-up