fix widget out-of-bound in bookmark and toc menus

The original menu layout needs manual dimension calculations
such as  white padding for displaying page information in
footer as the title, all item contents and footer are stacked
in one VerticalGroup. Out-of-bound error(koreader/koreader-base#43)
will occur in some corner cases if we missed something in
the calculation. The patch sent in this PR invented a new
layout for menu widget in which no manual calculation is needed
for displaying the footer. And the footer will be placed well
inside the menu frame.

```
   +--------------+
   | +----------+ |
   | |+--------+| |
   | || Header || |
   | |+--------+| |
   | |+--------+| |
   | ||  Item  || |
   | ||  Item  || |
   | |+--------+| |
   | |(Vertical | |
   | |  Group)  | |
   | +----------+ |
   |    Footer    |
   |(OverlapGroup)|
   +--------------+
```