use runtime.SetFinalizer() to ensure that C.smbc_free_context is called