Split out popup functionality from ve.ui.PopupButtonWidget to ve.ui.PopuppableElement

Change-Id: I522d852d81d9674723a3262da3f030417f4fc3be
Merge "Split out popup functionality from ve.ui.PopupButtonWidget to ve.ui.PopuppableElement"