demo: rewrite camera driver.

New camera driver doesn't depend on obsolete headers (linux/videodev.h),
and should work on more types of cameras.