Fixed sefgfault when a2_SubState() fails to open drivers

When running the 'rtsubstate' test without suitable drivers, the
failure to open the audio driver in a2_SubState() would cause a
segmentation fault. The reason for this was that a substate isn't
fully initialized with parent state and shared state pointers, and
the crash was a result of a2_Close() not checking for this.

Closes #123.
Voice killing logic

Still having some double free and segfaults, but they're tricky
to repeat. Are voices detached and unlinked as intended?