Split MetricsView refresh functionality and initialize gadget focus event objects in _GWidget_IndicateFocusGadget.

This ought to fix issues 794 and 1138.

We were using MVRemetric both for generating a new metrics view and for refreshing it. Adding elements to the view during initialization caused a refresh, which then called the initializer, which then tried to add those same elements, but not without a refresh. I split the refresh functionality into a separate function.

We were also passing uninitialized event objects to handlers, causing undesired outcomes, particularly when reusing the event object. I started zeroing those.