Work around the global VQEC initialisation problem.

VQEC keeps a global context and has a few global functions to manage it.
This is unfortunate because there's no clean way of resolving the conflicts
between GstVQE instances when accessing this global API.

To work around the problem a global refcount and  mutex was added to help
in managing this shared state. Not pretty but works.