Update lastEvents if a widget exists.

We have been running into an issue where widgets on a webpage do not get updated with new data, while the updatedAt value gets updated in the browser.  This is because lastEvents is set OUTSIDE of the if block.  If no widget can be resolved by data.id (namely, widgets[data.id]?.length > 0 is evaluated to be false), then dashing will never update the widgets with data coming in from EventSource, since the lastEvents updatedAt value for the widget ID is the same as the incoming data's updatedAt value.

With the code fix in this pull request, dashing will refresh widgets on the next GET Events fired from the EventSource/SSE cycle.