panel: Begin implementing panel placement

The panel is now internally capable of being placed at either the top
or bottom of the screen. BudgiePopover now assumes (by Y placement)
whether to show a tail on the top or bottom of itself, depending
on if its at the top or bottom of the screen.

These are large assumptions, but will be optimized in future to enable
placement around a widget, etc, not a screen edge.