fb: JZ4770: Removed ctrl member from panel struct

The corresponding register, LCDCTRL, doesn't contain any bits that are
different for any panel that we want to support.

The bpp bits in LCDCTRL affect layer 0, while the framebuffer is using
layer 1, so they should not be kept in sync.
fb: JZ4770: Support video mode that is smaller than panel size
fb: JZ4770: Initialize modelist in struct fb_info

It seems the fb subsystem adds the initial mode automatically, but if
we'd have more than one mode in the list the additional modes would be
missing.
fb: JZ4770: Improved video memory allocation

Added support for multiple video modes. Enough space is reserved for
the largest mode at 32 bpp and with double buffering.

Cleaned up existing code. The unmap code was freeing things that were
never reserved (in this version of the code, anyway), so that would
probably have crashed and burned if it was ever called.
fb: JZ4770: Find best mode by searching the modelist

Note that check_var has become a bit more strict with this commit:
if there is no mode that is large enough, -EINVAL is returned instead
of a mode.