Improve driver infrastructure to be more correct.

* Initialize the mutex when we load the driver.
* Remember to destroy the mutex if we unload the driver.
* provide new call infrastructure for this in the driver.