[DRIVERS] video: Support stacking calls to fb_open() and fb_release()

A frame buffer device can be opened from multiple places hence we need
a stacking mechanism for users of a frame buffer device.

This patch implements a LIFO list of users for each frame buffer device.
When a frame buffer is opened, we call save routine of frame buffer user
on top of LIFO list and add new frame buffer user to LIFO list. When a
frame buffer is released (i.e. closed), we remove current frame buffer
user from LIFO list and call restore routine of frame buffer user on top
of LIFO list.

The patch also updates VTEMU implementation to use the stacking calls to
fb_open() and fb_release().

Signed-off-by: Anup Patel <anup@brainfault.org>