vinput: Do not use unregister and free for the input device

https://www.kernel.org/doc/htmldocs/device-drivers/API-input-free-
device.html
vinput: Fix spin_lock and atomic issue

Fixing this bug:

    BUG: scheduling while atomic

The spin_lock should be used only to protect the access to the
list.
Merge pull request #3 from jbtheou/master

Spin lock issue and *double* free