Also makes the code only load the libgsm library only when it is used instead of on initialization of the dll --- If StreamOpen fails StreamClose won't be called, so there is no chance of null dereferences.